
int sessionGenerateChangeset
              (sqlite3_session *pSession,int bPatchset,_func_int_void_ptr_void_ptr_int *xOutput,
              void *pOut,int *pnChangeset,void **ppChangeset)

{
  u8 uVar1;
  sqlite3 *db;
  size_t __n;
  uint uVar2;
  Vdbe *pVVar3;
  byte bVar4;
  byte bVar5;
  undefined4 *puVar6;
  int iVar7;
  int iVar8;
  u8 *puVar9;
  int iVar10;
  sqlite3_stmt *psVar11;
  sqlite3 *psVar12;
  char **ppcVar13;
  Mem *pMVar14;
  int iVar15;
  code *extraout_ECX;
  sqlite3_stmt *psVar16;
  u8 enc;
  char *zSql;
  uint uVar17;
  char cVar18;
  uint uVar19;
  byte *pbVar20;
  u8 *puVar21;
  int iVar22;
  char **p;
  int unaff_EDI;
  uint uVar23;
  u8 *puVar24;
  int in_GS_OFFSET;
  bool bVar25;
  undefined8 uVar26;
  i64 iVar27;
  double dVar28;
  void *pvVar29;
  char **pRc;
  SessionTable *pTab;
  u8 **pabPK;
  int iVar30;
  sqlite3_stmt *in_stack_ffffff24;
  u8 *in_stack_ffffff28;
  sqlite3_stmt **in_stack_ffffff2c;
  uint local_cc;
  char **local_c4;
  int *local_c0;
  int *local_b4;
  int local_94;
  int local_88;
  int local_74;
  int local_70;
  int rc;
  int nCol;
  u8 *abPK;
  char **azCol;
  sqlite3_stmt *pSel;
  int rc_2;
  int rc_1;
  char **local_40;
  SessionBuffer buf;
  int n;
  uint local_28;
  uint local_24;
  int local_20;
  
  uVar26 = __x86_get_pc_thunk_di();
  iVar8 = (int)((ulonglong)uVar26 >> 0x20);
  puVar6 = (undefined4 *)uVar26;
  db = (sqlite3 *)*puVar6;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  buf.aBuf = (u8 *)0x0;
  buf.nBuf = 0;
  buf.nAlloc = 0;
  if (extraout_ECX == (code *)0x0) {
    *(undefined4 *)bPatchset = 0;
    *(undefined4 *)xOutput = 0;
  }
  iVar7 = puVar6[5];
  if ((puVar6[5] != 0) ||
     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),
     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),
     iVar7 = rc, rc != 0)) goto LAB_0014d7d0;
  if (db->mutex == (sqlite3_mutex *)0x0) {
    local_c0 = (int *)puVar6[10];
    if (local_c0 != (int *)0x0) goto LAB_0014d84d;
LAB_0014da0a:
    puVar21 = buf.aBuf;
    if (extraout_ECX == (code *)0x0) {
      buf.aBuf = (u8 *)0x0;
      *(int *)bPatchset = buf.nBuf;
      *(u8 **)xOutput = puVar21;
    }
    else if (0 < buf.nBuf) {
      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);
    }
  }
  else {
    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);
    local_c0 = (int *)puVar6[10];
    if ((rc == 0) && (local_c0 != (int *)0x0)) {
LAB_0014d84d:
      do {
        iVar7 = buf.nBuf;
        if (local_c0[6] != 0) {
          azCol = (char **)0x0;
          pSel = (sqlite3_stmt *)0x0;
          pabPK = &abPK;
          pTab = (SessionTable *)&azCol;
          pvVar29 = (void *)0x0;
          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,
                                (char ***)pTab,pabPK);
          if (rc == 0) {
            if (local_c0[2] == nCol) {
              pvVar29 = (void *)local_c0[5];
              pTab = (SessionTable *)nCol;
              iVar10 = memcmp(abPK,pvVar29,nCol);
              if (iVar10 == 0) goto LAB_0014d967;
            }
            rc = 0x11;
          }
LAB_0014d967:
          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);
          if (rc == 0) {
            pRc = azCol;
            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,
                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);
            local_74 = buf.nBuf;
            iVar10 = local_c0[7];
            pVVar3 = (Vdbe *)pSel;
            if ((0 < iVar10) && (rc == 0)) {
              local_88 = 0;
              iVar30 = local_c0[8];
              do {
                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {
                  do {
                    puVar21 = abPK;
                    iVar10 = nCol;
                    pbVar20 = (byte *)local_b4[3];
                    if (nCol < 1) {
                      rc = 0;
LAB_0014ddea:
                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);
                      iVar30 = buf.nBuf;
                      puVar9 = buf.aBuf;
                      psVar16 = pSel;
                      puVar24 = abPK;
                      iVar10 = nCol;
                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);
                      if (iVar22 == 100) {
                        if (*local_b4 == 0x12) {
                          sessionAppendByte(&buf,'\x12',&rc);
                          iVar22 = 0;
                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);
                          iVar10 = rc;
                          iVar30 = nCol;
                          if (0 < nCol) {
                            do {
                              while (iVar10 != 0) {
                                iVar22 = iVar22 + 1;
                                pVVar3 = (Vdbe *)pSel;
                                if (iVar30 <= iVar22) goto LAB_0014d9b9;
                              }
                              iVar22 = iVar22 + 1;
                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);
                              iVar10 = rc;
                              iVar30 = nCol;
                            } while (iVar22 < nCol);
                          }
                        }
                        else {
                          rc_2 = 0;
                          local_c4 = (char **)local_b4[3];
                          n = 0;
                          local_28 = 0;
                          local_24 = 0;
                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {
                            uVar19 = buf.nAlloc;
                            if (buf.nAlloc == 0) {
                              uVar19 = 0x80;
                            }
                            uVar17 = (int)uVar19 >> 0x1f;
                            do {
                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;
                              uVar19 = uVar19 * 2;
                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=
                                     (int)-((uVar17 - (int)puVar21) -
                                           (uint)(uVar19 < (uint)buf.nBuf)));
                            in_stack_ffffff24 = pSel;
                            iVar10 = sqlite3_initialize();
                            if ((iVar10 == 0) &&
                               (psVar11 = (sqlite3_stmt *)
                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,
                                                                         in_stack_ffffff24)),
                               psVar11 != (sqlite3_stmt *)0x0)) {
                              buf.aBuf = (u8 *)psVar11;
                              buf.nAlloc = uVar19;
                              if (rc_2 == 0) goto LAB_0014df46;
                            }
                            else {
LAB_0014ed09:
                              rc_2 = 7;
                            }
                          }
                          else {
LAB_0014df46:
                            uVar19 = buf.nBuf + 1;
                            buf.aBuf[buf.nBuf] = '\x17';
                            iVar10 = local_b4[1];
                            buf.nBuf = uVar19;
                            if (rc_2 == 0) {
                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {
                                uVar17 = buf.nAlloc;
                                if (buf.nAlloc == 0) {
                                  uVar17 = 0x80;
                                }
                                uVar23 = (int)uVar17 >> 0x1f;
                                do {
                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;
                                  uVar17 = uVar17 * 2;
                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=
                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -
                                               (uint)(uVar17 < uVar19)));
                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;
                                iVar22 = sqlite3_initialize();
                                if ((iVar22 != 0) ||
                                   (in_stack_ffffff24 =
                                         (sqlite3_stmt *)
                                         sqlite3Realloc(in_stack_ffffff24,
                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24
                                                                )),
                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;
                                buf.aBuf = (u8 *)in_stack_ffffff24;
                                buf.nAlloc = uVar17;
                                if (rc_2 != 0) goto joined_r0x0014e470;
                              }
                              local_cc._0_1_ = (u8)iVar10;
                              buf.aBuf[buf.nBuf] = (u8)local_cc;
                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;
                              buf.nBuf = buf.nBuf + 1;
                            }
                          }
joined_r0x0014e470:
                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))
                          {
                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;
                            local_94 = 1;
                            do {
                              bVar5 = *(byte *)local_c4;
                              if (bVar5 == 0) {
LAB_0014e690:
                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {
                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),
                                                             (u32 *)&rc_1);
                                  iVar10 = bVar4 + 1;
                                }
                                else {
                                  iVar10 = 2;
                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);
                                }
                                local_cc = rc_1 + iVar10;
                                psVar12 = *(sqlite3 **)psVar16;
                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {
                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);
                                  psVar12 = *(sqlite3 **)psVar16;
                                }
                                iVar22 = *(int *)(psVar16 + 0x74);
                                if ((iVar22 == 0) ||
                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24
                                   )) {
                                  psVar12->errCode = 0x19;
                                  bVar4 = 5;
                                  sqlite3ErrorFinish(psVar12,iVar22);
                                  psVar12 = *(sqlite3 **)psVar16;
                                }
                                else {
                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +
                                                   (*(ushort *)
                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &
                                                   0x1f));
                                }
                                if ((psVar12->mallocFailed == '\0') &&
                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {
                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;
                                }
                                else {
                                  uVar19 = apiOomError(psVar12);
                                  psVar12 = *(sqlite3 **)psVar16;
                                }
                                *(uint *)(psVar16 + 0x28) = uVar19;
                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {
                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);
                                }
                                uVar19 = local_cc;
                                if (bVar5 == bVar4) {
                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);
                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);
                                  columnMallocFailure(psVar16);
                                  iVar22 = rc_1;
                                  if (rc_1 != iVar15) goto LAB_0014e743;
                                  if (rc_1 != 0) {
                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);
                                    pRc = (char **)sqlite3_value_blob(pMVar14);
                                    columnMallocFailure(psVar16);
                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);
                                    if (iVar10 != 0) goto LAB_0014e743;
                                  }
                                  puVar21 = puVar24 + (int)in_stack_ffffff24;
                                  if (iVar8 != 0) goto LAB_0014e9cb;
                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {
LAB_0014e8c6:
                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);
                                    if (iVar10 == 0) {
                                      buf.aBuf[buf.nBuf] = '\0';
                                      buf.nBuf = buf.nBuf + 1;
                                    }
                                  }
                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))
                                  goto LAB_0014eaca;
                                }
                                else {
LAB_0014e743:
                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {
                                    local_94 = 0;
                                    goto LAB_0014e560;
                                  }
                                  local_94 = rc_2;
                                  if (rc_2 != 0) {
                                    local_94 = 0;
                                    goto LAB_0014e590;
                                  }
                                  local_70 = 1;
LAB_0014eaca:
                                  puVar21 = buf.aBuf;
                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {
                                    uVar17 = buf.nAlloc;
                                    if (buf.nAlloc == 0) {
                                      uVar17 = 0x80;
                                    }
                                    uVar23 = (int)uVar17 >> 0x1f;
                                    do {
                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;
                                      uVar17 = uVar17 * 2;
                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -
                                               (uint)(uVar17 < (uint)buf.nBuf);
                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);
                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);
                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=
                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);
                                    iVar10 = sqlite3_initialize();
                                    if ((iVar10 == 0) &&
                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(
                                                  in_stack_ffffff28,in_stack_ffffff24)),
                                       puVar21 != (u8 *)0x0)) {
                                      buf.aBuf = puVar21;
                                      buf.nAlloc = uVar17;
                                      if (rc_2 == 0) goto LAB_0014eb76;
                                    }
                                    else {
                                      rc_2 = 7;
                                    }
                                    if (local_70 != 0) goto LAB_0014e590;
                                  }
                                  else {
LAB_0014eb76:
                                    pRc = local_c4;
                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);
                                    buf.nBuf = buf.nBuf + uVar19;
                                    if (local_70 != 0) goto LAB_0014e560;
                                  }
                                }
LAB_0014e900:
                                iVar10 = n;
                                if (rc_2 == 0) {
                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {
                                    uVar19 = local_24;
                                    if (local_24 == 0) {
                                      uVar19 = 0x80;
                                    }
                                    uVar17 = (int)uVar19 >> 0x1f;
                                    do {
                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;
                                      uVar19 = uVar19 * 2;
                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=
                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -
                                                   (uint)(uVar19 < local_28)));
                                    iVar22 = sqlite3_initialize();
                                    if ((iVar22 == 0) &&
                                       (pvVar29 = sqlite3Realloc((void *)iVar10,
                                                                 CONCAT44(in_stack_ffffff28,
                                                                          in_stack_ffffff24)),
                                       pvVar29 != (void *)0x0)) {
                                      n = (int)pvVar29;
                                      local_24 = uVar19;
                                      if (rc_2 == 0) goto LAB_0014e9b4;
                                    }
                                    else {
                                      rc_2 = 7;
                                    }
                                  }
                                  else {
LAB_0014e9b4:
                                    *(undefined1 *)(n + local_28) = 0;
                                    local_28 = local_28 + 1;
                                  }
                                }
                              }
                              else {
                                if (2 < bVar5) {
                                  if (bVar5 != 5) goto LAB_0014e690;
                                  psVar12 = *(sqlite3 **)psVar16;
                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {
                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);
                                    psVar12 = *(sqlite3 **)psVar16;
                                  }
                                  iVar10 = *(int *)(psVar16 + 0x74);
                                  if ((iVar10 == 0) ||
                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=
                                      (int)in_stack_ffffff24)) {
                                    psVar12->errCode = 0x19;
                                    sqlite3ErrorFinish(psVar12,iVar10);
                                    psVar12 = *(sqlite3 **)psVar16;
                                    cVar18 = '\x05';
                                  }
                                  else {
                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +
                                                      (*(ushort *)
                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)
                                                      & 0x1f));
                                  }
                                  if ((psVar12->mallocFailed == '\0') &&
                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {
                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;
                                  }
                                  else {
                                    uVar19 = apiOomError(psVar12);
                                    psVar12 = *(sqlite3 **)psVar16;
                                  }
                                  *(uint *)(psVar16 + 0x28) = uVar19;
                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {
                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);
                                  }
                                  if (cVar18 == '\x05') {
                                    local_cc = 1;
                                    puVar21 = puVar24 + (int)in_stack_ffffff24;
                                    if (iVar8 == 0) {
                                      uVar19 = 1;
                                      goto LAB_0014e8bd;
                                    }
LAB_0014e9cb:
                                    if (*puVar21 == '\0') goto LAB_0014e900;
                                    goto LAB_0014e560;
                                  }
                                  if (iVar8 != 0) {
                                    local_94 = 0;
                                    local_cc = 1;
                                    goto LAB_0014e560;
                                  }
                                  local_94 = rc_2;
                                  if (rc_2 != 0) {
                                    local_94 = 0;
                                    local_cc = 1;
                                    goto LAB_0014e590;
                                  }
                                  local_cc = 1;
                                  local_70 = 1;
                                  uVar19 = 1;
                                  goto LAB_0014eaca;
                                }
                                psVar12 = *(sqlite3 **)psVar16;
                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {
                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);
                                  psVar12 = *(sqlite3 **)psVar16;
                                }
                                iVar10 = *(int *)(psVar16 + 0x74);
                                if ((iVar10 == 0) ||
                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24
                                   )) {
                                  psVar12->errCode = 0x19;
                                  bVar4 = 5;
                                  sqlite3ErrorFinish(psVar12,iVar10);
                                  psVar12 = *(sqlite3 **)psVar16;
                                }
                                else {
                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +
                                                   (*(ushort *)
                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &
                                                   0x1f));
                                }
                                if ((psVar12->mallocFailed == '\0') &&
                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {
                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);
                                }
                                else {
                                  uVar19 = apiOomError(psVar12);
                                  psVar12 = *(sqlite3 **)psVar16;
                                }
                                *(uint *)(psVar16 + 0x28) = uVar19;
                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {
                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);
                                }
                                if (bVar5 == bVar4) {
                                  uVar19 = *(uint *)((int)local_c4 + 1);
                                  uVar17 = *(uint *)((int)local_c4 + 5);
                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |
                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);
                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |
                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
                                  if (bVar5 == 1) {
                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);
                                    iVar27 = sqlite3VdbeIntValue(pMVar14);
                                    columnMallocFailure(psVar16);
                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;
                                    goto LAB_0014e65d;
                                  }
                                  rc_1 = uVar19;
                                  local_40 = ppcVar13;
                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);
                                  dVar28 = sqlite3VdbeRealValue(pMVar14);
                                  columnMallocFailure(psVar16);
                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))
                                  goto LAB_0014e65d;
LAB_0014e89a:
                                  local_cc = 9;
                                  puVar21 = puVar24 + (int)in_stack_ffffff24;
                                  if (iVar8 != 0) goto LAB_0014e9cb;
                                  uVar19 = 9;
LAB_0014e8bd:
                                  if (*puVar21 == '\0') goto LAB_0014e8c6;
                                  local_70 = rc_2;
                                  if (rc_2 == 0) goto LAB_0014eaca;
                                }
                                else {
LAB_0014e65d:
                                  if (iVar8 == 0) {
                                    local_94 = rc_2;
                                    if (rc_2 == 0) {
                                      local_cc = 9;
                                      local_70 = 1;
                                      uVar19 = 9;
                                      goto LAB_0014eaca;
                                    }
                                    local_94 = 0;
                                    local_cc = 9;
                                    goto LAB_0014e590;
                                  }
                                  local_94 = 0;
                                  local_cc = 9;
LAB_0014e560:
                                  if (rc_2 == 0) {
                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,
                                                     (int *)pRc);
                                  }
                                }
                              }
LAB_0014e590:
                              in_stack_ffffff24 = in_stack_ffffff24 + 1;
                              local_c4 = (char **)((int)local_c4 + local_cc);
                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)
                                    );
                            if (local_94 == 0) {
                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);
                              iVar30 = buf.nBuf;
                            }
                          }
                          buf.nBuf = iVar30;
                          sqlite3_free((void *)n);
                          rc = rc_2;
                        }
                      }
                      else if (*local_b4 != 0x12) {
                        rc_1 = 0;
                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {
                          uVar19 = buf.nAlloc;
                          if (buf.nAlloc == 0) {
                            uVar19 = 0x80;
                          }
                          uVar17 = (int)uVar19 >> 0x1f;
                          do {
                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;
                            uVar19 = uVar19 * 2;
                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=
                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))
                                  );
                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;
                          iVar30 = sqlite3_initialize();
                          if ((iVar30 == 0) &&
                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,
                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {
                            iVar30 = buf.nBuf;
                            in_stack_ffffff28 = puVar21;
                            buf.aBuf = puVar9;
                            buf.nAlloc = uVar19;
                            if (rc_1 == 0) goto LAB_0014e098;
                          }
                          else {
LAB_0014ecf9:
                            rc_1 = 7;
                          }
                        }
                        else {
LAB_0014e098:
                          puVar21 = in_stack_ffffff28;
                          puVar9 = buf.aBuf;
                          buf.nBuf = iVar30 + 1;
                          buf.aBuf[iVar30] = '\t';
                          iVar30 = local_b4[1];
                          if (rc_1 == 0) {
                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {
                              psVar16 = (sqlite3_stmt *)buf.nAlloc;
                              if (buf.nAlloc == 0) {
                                psVar16 = (sqlite3_stmt *)0x80;
                              }
                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);
                              uVar19 = (int)psVar16 >> 0x1f;
                              do {
                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;
                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);
                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=
                                       (int)-((uVar19 - (int)puVar21) -
                                             (uint)(psVar16 < (uint)buf.nBuf)));
                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;
                              iVar22 = sqlite3_initialize();
                              if ((iVar22 != 0) ||
                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,
                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))
                              goto LAB_0014ecf9;
                              buf.aBuf = puVar9;
                              buf.nAlloc = (int)psVar16;
                              if (rc_1 != 0) goto LAB_0014e17a;
                            }
                            local_94._0_1_ = (u8)iVar30;
                            buf.aBuf[buf.nBuf] = (u8)local_94;
                            buf.nBuf = (int)(buf.nBuf + 1);
                          }
                        }
LAB_0014e17a:
                        ppcVar13 = (char **)local_b4[3];
                        if (iVar8 == 0) {
                          __n = local_b4[2];
                          if ((0 < (int)__n) &&
                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {
                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);
                            buf.nBuf = buf.nBuf + __n;
                            pRc = ppcVar13;
                          }
                        }
                        else if (0 < iVar10) {
                          puVar9 = puVar24 + iVar10;
                          do {
                            bVar5 = *(byte *)ppcVar13;
                            p = (char **)((int)ppcVar13 + 1);
                            if (bVar5 < 3) {
                              if (bVar5 != 0) {
                                p = (char **)((int)ppcVar13 + 9);
                              }
LAB_0014e1b0:
                              uVar1 = *puVar24;
                            }
                            else {
                              if (bVar5 == 5) goto LAB_0014e1b0;
                              uVar17 = 1;
                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);
                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {
                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);
                                uVar17 = (uint)bVar5;
                                uVar19 = n;
                              }
                              p = (char **)((int)p + uVar19 + uVar17);
                              uVar1 = *puVar24;
                            }
                            if (((uVar1 != '\0') &&
                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),
                                0 < (int)in_stack_ffffff24)) &&
                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),
                               iVar10 == 0)) {
                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);
                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);
                              pRc = ppcVar13;
                            }
                            puVar24 = puVar24 + 1;
                            ppcVar13 = p;
                          } while (puVar24 != puVar9);
                        }
                        rc = rc_1;
                        in_stack_ffffff28 = puVar21;
                      }
                      pVVar3 = (Vdbe *)pSel;
                      if (rc != 0) goto LAB_0014d9b9;
                      rc = sqlite3_reset(pSel);
                      if (extraout_ECX == (code *)0x0) {
                        bVar25 = rc == 0;
                      }
                      else {
                        pVVar3 = (Vdbe *)pSel;
                        if (rc != 0) goto LAB_0014d9b9;
                        if ((local_74 < buf.nBuf) &&
                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {
                          pRc = (char **)buf.aBuf;
                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);
                          buf.nBuf = 0;
                          bVar25 = rc == 0;
                          local_74 = -1;
                        }
                        else {
                          bVar25 = true;
                        }
                      }
                    }
                    else {
                      iVar30 = 0;
                      do {
                        iVar22 = iVar30 + 1;
                        if (*pbVar20 < 6) {
                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +
                                            unaff_EDI + 0x6d6e1))();
                          return iVar8;
                        }
                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];
                        if ((char)pbVar20[1] < '\0') {
                          bVar5 = pbVar20[2];
                          if ((char)bVar5 < '\0') {
                            if ((pbVar20[3] & 0x80) == 0) {
                              uVar19 = 3;
                              psVar16 = (sqlite3_stmt *)
                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |
                                        (bVar5 & 0x7f) << 7);
                            }
                            else {
                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);
                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;
                              if (local_28 == 0) {
                                psVar16 = (sqlite3_stmt *)n;
                              }
                              uVar19 = (uint)bVar5;
                            }
                          }
                          else {
                            uVar19 = 2;
                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);
                          }
                        }
                        else {
                          uVar19 = 1;
                        }
                        bVar25 = true;
                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;
                        if (puVar21[iVar30] != '\0') {
                          iVar30 = 0x14dce1;
                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);
                          bVar25 = false;
                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {
                            pRc = (char **)&DAT_ffffffff;
                            in_stack_ffffff24 =
                                 (sqlite3_stmt *)
                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,
                                          (u8)in_stack_ffffff28);
                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;
                          }
                        }
                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;
                        iVar30 = iVar22;
                      } while ((bool)(iVar22 < iVar10 & bVar25));
                      rc = (int)in_stack_ffffff24;
                      pVVar3 = (Vdbe *)pSel;
                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;
                    }
                    local_b4 = (int *)local_b4[4];
                    pVVar3 = (Vdbe *)pSel;
                  } while ((local_b4 != (int *)0x0) && (bVar25));
                  local_88 = local_88 + 1;
                  iVar10 = local_c0[7];
                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;
                  iVar30 = local_c0[8];
                }
                local_88 = local_88 + 1;
              } while (local_88 < iVar10);
            }
          }
          else {
            local_74 = buf.nBuf;
            pVVar3 = (Vdbe *)pSel;
          }
LAB_0014d9b9:
          sqlite3_finalize((sqlite3_stmt *)pVVar3);
          if (buf.nBuf == local_74) {
            buf.nBuf = iVar7;
          }
          sqlite3_free(azCol);
        }
        local_c0 = (int *)*local_c0;
      } while ((rc == 0) && (local_c0 != (int *)0x0));
    }
    if (rc == 0) goto LAB_0014da0a;
  }
  sqlite3_free(buf.aBuf);
  psVar12 = (sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3);
  sqlite3_exec(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0);
  iVar7 = rc;
  if (db->mutex != (sqlite3_mutex *)0x0) {
    (**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);
    iVar7 = rc;
  }
LAB_0014d7d0:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    __stack_chk_fail_local();
  }
  return iVar7;
}



uint FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)

{
  byte bVar1;
  int iVar2;
  uint uVar3;
  int *piVar4;
  uint uVar5;
  int iVar6;
  char *pcVar7;
  undefined4 uVar8;
  void *__s2;
  code *extraout_ECX;
  uint uVar9;
  int iVar10;
  size_t sVar11;
  char cVar12;
  byte bVar13;
  uint uVar14;
  byte *pbVar15;
  int iVar16;
  uint uVar17;
  byte *pbVar18;
  int unaff_EDI;
  uint uVar19;
  char *pcVar20;
  int in_GS_OFFSET;
  bool bVar21;
  longdouble lVar22;
  undefined8 uVar23;
  longlong lVar24;
  uint local_dc;
  uint local_cc;
  byte *local_c4;
  undefined4 *local_c0;
  int *local_b4;
  uint local_94;
  int local_88;
  uint local_74;
  uint local_70;
  uint local_5c;
  size_t local_58;
  char *local_54;
  undefined4 local_50;
  int *local_4c;
  uint local_48;
  uint local_44;
  uint local_40;
  int local_38;
  uint local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  uint local_24;
  int local_20;
  
  uVar23 = FUN_0003a401();
  iVar10 = (int)((ulonglong)uVar23 >> 0x20);
  piVar4 = (int *)uVar23;
  iVar2 = *piVar4;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_38 = 0;
  local_34 = 0;
  local_30 = 0;
  if (extraout_ECX == (code *)0x0) {
    *param_2 = 0;
    *param_3 = 0;
  }
  uVar5 = piVar4[5];
  if ((piVar4[5] != 0) ||
     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))
  goto LAB_0014d7d0;
  if (*(int *)(iVar2 + 0xc) == 0) {
    local_c0 = (undefined4 *)piVar4[10];
    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;
LAB_0014da0a:
    iVar10 = local_38;
    if (extraout_ECX == (code *)0x0) {
      local_38 = 0;
      *param_2 = local_34;
      *param_3 = iVar10;
    }
    else if (0 < (int)local_34) {
      local_5c = (*extraout_ECX)(param_1,local_38,local_34);
    }
  }
  else {
    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));
    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));
        local_c0 = (undefined4 *)*local_c0) {
LAB_0014d858:
      uVar5 = local_34;
      if (local_c0[6] != 0) {
        local_50 = 0;
        local_4c = (int *)0x0;
        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);
        if ((local_5c == 0) &&
           ((local_c0[2] != local_58 ||
            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {
          local_5c = 0x11;
        }
        FUN_000a1ad0(&local_5c);
        if (local_5c == 0) {
          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);
          local_74 = local_34;
          iVar6 = local_c0[7];
          piVar4 = local_4c;
          if ((0 < iVar6) && (local_5c == 0)) {
            local_88 = 0;
            iVar16 = local_c0[8];
            do {
              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {
                do {
                  pcVar20 = local_54;
                  sVar11 = local_58;
                  pbVar15 = (byte *)local_b4[3];
                  if ((int)local_58 < 1) {
                    local_5c = 0;
LAB_0014ddea:
                    iVar6 = FUN_000e7e00(piVar4);
                    uVar9 = local_34;
                    piVar4 = local_4c;
                    pcVar20 = local_54;
                    sVar11 = local_58;
                    if (iVar6 == 100) {
                      if (*local_b4 == 0x12) {
                        FUN_00133280();
                        iVar6 = 0;
                        FUN_00133280();
                        uVar9 = local_5c;
                        sVar11 = local_58;
                        if (0 < (int)local_58) {
                          do {
                            while (uVar9 != 0) {
                              iVar6 = iVar6 + 1;
                              piVar4 = local_4c;
                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;
                            }
                            iVar6 = iVar6 + 1;
                            FUN_000a1c40(&local_5c);
                            uVar9 = local_5c;
                            sVar11 = local_58;
                          } while (iVar6 < (int)local_58);
                        }
                      }
                      else {
                        local_48 = 0;
                        local_c4 = (byte *)local_b4[3];
                        local_2c = 0;
                        local_28 = 0;
                        local_24 = 0;
                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {
                          uVar14 = local_30;
                          if (local_30 == 0) {
                            uVar14 = 0x80;
                          }
                          uVar17 = (int)uVar14 >> 0x1f;
                          do {
                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;
                            uVar14 = uVar14 * 2;
                          } while ((int)(uint)(uVar14 - local_34 != 0) <=
                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -
                                         (uint)(uVar14 < local_34)));
                          iVar6 = FUN_00067fc0();
                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {
                            local_38 = iVar6;
                            local_30 = uVar14;
                            if (local_48 == 0) goto LAB_0014df46;
                          }
                          else {
LAB_0014ed09:
                            local_48 = 7;
                          }
                        }
                        else {
LAB_0014df46:
                          uVar14 = local_34 + 1;
                          *(undefined1 *)(local_38 + local_34) = 0x17;
                          iVar6 = local_b4[1];
                          local_34 = uVar14;
                          if (local_48 == 0) {
                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {
                              uVar17 = local_30;
                              if (local_30 == 0) {
                                uVar17 = 0x80;
                              }
                              uVar19 = (int)uVar17 >> 0x1f;
                              do {
                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;
                                uVar17 = uVar17 * 2;
                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=
                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -
                                             (uint)(uVar17 < uVar14)));
                              iVar16 = FUN_00067fc0();
                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))
                              goto LAB_0014ed09;
                              local_38 = iVar16;
                              local_30 = uVar17;
                              if (local_48 != 0) goto joined_r0x0014e470;
                            }
                            local_cc._0_1_ = (undefined1)iVar6;
                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;
                            local_34 = local_34 + 1;
                          }
                        }
joined_r0x0014e470:
                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {
                          local_dc = 0;
                          local_94 = 1;
                          do {
                            bVar1 = *local_c4;
                            if (bVar1 == 0) {
LAB_0014e690:
                              if ((char)local_c4[1] < '\0') {
                                uVar14 = FUN_00044cf0();
                                iVar6 = (uVar14 & 0xff) + 1;
                              }
                              else {
                                iVar6 = 2;
                                local_44 = (uint)local_c4[1];
                              }
                              local_cc = local_44 + iVar6;
                              iVar16 = *piVar4;
                              if (*(int *)(iVar16 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));
                                iVar16 = *piVar4;
                              }
                              if ((piVar4[0x1d] == 0) ||
                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {
                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;
                                bVar13 = 5;
                                FUN_0004c5a0();
                                iVar16 = *piVar4;
                              }
                              else {
                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +
                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &
                                                  0x1f));
                              }
                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {
                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);
                              }
                              else {
                                uVar14 = FUN_0004c680();
                                iVar16 = *piVar4;
                              }
                              piVar4[10] = uVar14;
                              if (*(int *)(iVar16 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));
                              }
                              uVar14 = local_cc;
                              if (bVar1 == bVar13) {
                                FUN_0004c5d0();
                                sVar11 = FUN_0007f360();
                                FUN_0004c6c0();
                                uVar17 = local_44;
                                if (local_44 != sVar11) goto LAB_0014e743;
                                if (local_44 != 0) {
                                  uVar8 = FUN_0004c5d0();
                                  __s2 = (void *)FUN_0007f710(uVar8);
                                  FUN_0004c6c0();
                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);
                                  if (iVar6 != 0) goto LAB_0014e743;
                                }
                                if (iVar10 != 0) goto LAB_0014e9cb;
                                if (pcVar20[local_dc] == '\0') {
LAB_0014e8c6:
                                  iVar6 = FUN_000a19a0();
                                  if (iVar6 == 0) {
                                    *(undefined1 *)(local_38 + local_34) = 0;
                                    local_34 = local_34 + 1;
                                  }
                                }
                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)
                                        ) goto LAB_0014eaca;
                              }
                              else {
LAB_0014e743:
                                if ((iVar10 != 0) || ((int)local_cc < 1)) {
                                  local_94 = 0;
                                  goto LAB_0014e560;
                                }
                                local_94 = local_48;
                                if (local_48 != 0) {
                                  local_94 = 0;
                                  goto LAB_0014e590;
                                }
                                local_70 = 1;
LAB_0014eaca:
                                if ((int)(local_30 - local_34) < (int)uVar14) {
                                  uVar17 = local_30;
                                  if (local_30 == 0) {
                                    uVar17 = 0x80;
                                  }
                                  uVar19 = (int)uVar17 >> 0x1f;
                                  do {
                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;
                                    uVar17 = uVar17 * 2;
                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -
                                             (uint)(uVar17 < local_34);
                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);
                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);
                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=
                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);
                                  iVar6 = FUN_00067fc0();
                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {
                                    local_38 = iVar6;
                                    local_30 = uVar17;
                                    if (local_48 == 0) goto LAB_0014eb76;
                                  }
                                  else {
                                    local_48 = 7;
                                  }
                                  if (local_70 != 0) goto LAB_0014e590;
                                }
                                else {
LAB_0014eb76:
                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);
                                  local_34 = local_34 + uVar14;
                                  if (local_70 != 0) goto LAB_0014e560;
                                }
                              }
LAB_0014e900:
                              if (local_48 == 0) {
                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {
                                  uVar14 = local_24;
                                  if (local_24 == 0) {
                                    uVar14 = 0x80;
                                  }
                                  uVar17 = (int)uVar14 >> 0x1f;
                                  do {
                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;
                                    uVar14 = uVar14 * 2;
                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=
                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -
                                                 (uint)(uVar14 < local_28)));
                                  iVar6 = FUN_00067fc0();
                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {
                                    local_2c = uVar17;
                                    local_24 = uVar14;
                                    if (local_48 == 0) goto LAB_0014e9b4;
                                  }
                                  else {
                                    local_48 = 7;
                                  }
                                }
                                else {
LAB_0014e9b4:
                                  *(undefined1 *)(local_2c + local_28) = 0;
                                  local_28 = local_28 + 1;
                                }
                              }
                            }
                            else {
                              if (2 < bVar1) {
                                if (bVar1 != 5) goto LAB_0014e690;
                                iVar6 = *piVar4;
                                if (*(int *)(iVar6 + 0xc) != 0) {
                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));
                                  iVar6 = *piVar4;
                                }
                                if ((piVar4[0x1d] == 0) ||
                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {
                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;
                                  FUN_0004c5a0();
                                  iVar6 = *piVar4;
                                  cVar12 = '\x05';
                                }
                                else {
                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +
                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)
                                                    & 0x1f));
                                }
                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {
                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);
                                }
                                else {
                                  uVar14 = FUN_0004c680();
                                  iVar6 = *piVar4;
                                }
                                piVar4[10] = uVar14;
                                if (*(int *)(iVar6 + 0xc) != 0) {
                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));
                                }
                                if (cVar12 == '\x05') {
                                  local_cc = 1;
                                  if (iVar10 == 0) {
                                    uVar14 = 1;
                                    goto LAB_0014e8bd;
                                  }
LAB_0014e9cb:
                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;
                                  goto LAB_0014e560;
                                }
                                if (iVar10 != 0) {
                                  local_94 = 0;
                                  local_cc = 1;
                                  goto LAB_0014e560;
                                }
                                local_94 = local_48;
                                if (local_48 != 0) {
                                  local_94 = 0;
                                  local_cc = 1;
                                  goto LAB_0014e590;
                                }
                                local_cc = 1;
                                local_70 = 1;
                                uVar14 = 1;
                                goto LAB_0014eaca;
                              }
                              iVar6 = *piVar4;
                              if (*(int *)(iVar6 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));
                                iVar6 = *piVar4;
                              }
                              if ((piVar4[0x1d] == 0) ||
                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {
                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;
                                bVar13 = 5;
                                FUN_0004c5a0();
                                iVar6 = *piVar4;
                              }
                              else {
                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +
                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &
                                                  0x1f));
                              }
                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {
                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];
                              }
                              else {
                                uVar14 = FUN_0004c680();
                                iVar6 = *piVar4;
                              }
                              piVar4[10] = uVar14;
                              if (*(int *)(iVar6 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));
                              }
                              if (bVar1 == bVar13) {
                                uVar14 = *(uint *)(local_c4 + 1);
                                uVar17 = *(uint *)(local_c4 + 5);
                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |
                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;
                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |
                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
                                if (bVar1 == 1) {
                                  FUN_0004c5d0();
                                  lVar24 = FUN_00045540();
                                  FUN_0004c6c0();
                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;
                                  goto LAB_0014e65d;
                                }
                                local_44 = uVar17;
                                local_40 = uVar14;
                                FUN_0004c5d0();
                                lVar22 = (longdouble)FUN_000455a0();
                                FUN_0004c6c0();
                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))
                                goto LAB_0014e65d;
LAB_0014e89a:
                                local_cc = 9;
                                if (iVar10 != 0) goto LAB_0014e9cb;
                                uVar14 = 9;
LAB_0014e8bd:
                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;
                                local_70 = local_48;
                                if (local_48 == 0) goto LAB_0014eaca;
                              }
                              else {
LAB_0014e65d:
                                if (iVar10 == 0) {
                                  local_94 = local_48;
                                  if (local_48 == 0) {
                                    local_cc = 9;
                                    local_70 = 1;
                                    uVar14 = 9;
                                    goto LAB_0014eaca;
                                  }
                                  local_94 = 0;
                                  local_cc = 9;
                                  goto LAB_0014e590;
                                }
                                local_94 = 0;
                                local_cc = 9;
LAB_0014e560:
                                if (local_48 == 0) {
                                  FUN_000a1c40(&local_48);
                                }
                              }
                            }
LAB_0014e590:
                            local_dc = local_dc + 1;
                            local_c4 = local_c4 + local_cc;
                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));
                          if (local_94 == 0) {
                            FUN_000a1a70(&local_48);
                            uVar9 = local_34;
                          }
                        }
                        local_34 = uVar9;
                        FUN_00044000(local_2c);
                        local_5c = local_48;
                      }
                    }
                    else if (*local_b4 != 0x12) {
                      local_44 = 0;
                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {
                        uVar14 = local_30;
                        if (local_30 == 0) {
                          uVar14 = 0x80;
                        }
                        uVar9 = (int)uVar14 >> 0x1f;
                        do {
                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;
                          uVar14 = uVar14 * 2;
                        } while ((int)(uint)(uVar14 - local_34 != 0) <=
                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -
                                       (uint)(uVar14 < local_34)));
                        iVar6 = FUN_00067fc0();
                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {
                          uVar9 = local_34;
                          local_38 = iVar6;
                          local_30 = uVar14;
                          if (local_44 == 0) goto LAB_0014e098;
                        }
                        else {
LAB_0014ecf9:
                          local_44 = 7;
                        }
                      }
                      else {
LAB_0014e098:
                        local_34 = uVar9 + 1;
                        *(undefined1 *)(local_38 + uVar9) = 9;
                        iVar6 = local_b4[1];
                        if (local_44 == 0) {
                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {
                            uVar9 = local_30;
                            if (local_30 == 0) {
                              uVar9 = 0x80;
                            }
                            uVar14 = (int)uVar9 >> 0x1f;
                            do {
                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;
                              uVar9 = uVar9 * 2;
                            } while ((int)(uint)(uVar9 - local_34 != 0) <=
                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -
                                           (uint)(uVar9 < local_34)));
                            iVar16 = FUN_00067fc0();
                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))
                            goto LAB_0014ecf9;
                            local_38 = iVar16;
                            local_30 = uVar9;
                            if (local_44 != 0) goto LAB_0014e17a;
                          }
                          local_94._0_1_ = (undefined1)iVar6;
                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;
                          local_34 = local_34 + 1;
                        }
                      }
LAB_0014e17a:
                      pbVar15 = (byte *)local_b4[3];
                      if (iVar10 == 0) {
                        sVar11 = local_b4[2];
                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {
                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);
                          local_34 = local_34 + sVar11;
                        }
                      }
                      else if (0 < (int)sVar11) {
                        pcVar7 = pcVar20 + sVar11;
                        do {
                          bVar1 = *pbVar15;
                          pbVar18 = pbVar15 + 1;
                          if (bVar1 < 3) {
                            if (bVar1 != 0) {
                              pbVar18 = pbVar15 + 9;
                            }
LAB_0014e1b0:
                            cVar12 = *pcVar20;
                          }
                          else {
                            if (bVar1 == 5) goto LAB_0014e1b0;
                            uVar14 = 1;
                            uVar9 = (uint)pbVar15[1];
                            if ((char)pbVar15[1] < '\0') {
                              uVar14 = FUN_00044cf0();
                              uVar14 = uVar14 & 0xff;
                              uVar9 = local_2c;
                            }
                            pbVar18 = pbVar18 + uVar9 + uVar14;
                            cVar12 = *pcVar20;
                          }
                          if (((cVar12 != '\0') &&
                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&
                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {
                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);
                            local_34 = local_34 + sVar11;
                          }
                          pcVar20 = pcVar20 + 1;
                          pbVar15 = pbVar18;
                        } while (pcVar20 != pcVar7);
                      }
                      local_5c = local_44;
                    }
                    piVar4 = local_4c;
                    if (local_5c != 0) goto LAB_0014d9b9;
                    local_5c = FUN_000bfe40(local_4c);
                    if (extraout_ECX == (code *)0x0) {
                      bVar21 = local_5c == 0;
                    }
                    else {
                      piVar4 = local_4c;
                      if (local_5c != 0) goto LAB_0014d9b9;
                      if (((int)local_74 < (int)local_34) &&
                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {
                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);
                        local_34 = 0;
                        bVar21 = local_5c == 0;
                        local_74 = 0xffffffff;
                      }
                      else {
                        bVar21 = true;
                      }
                    }
                  }
                  else {
                    iVar6 = 0;
                    do {
                      iVar16 = iVar6 + 1;
                      if (*pbVar15 < 6) {
                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +
                                          unaff_EDI + 0x6d6e1))();
                        return uVar5;
                      }
                      uVar9 = (uint)pbVar15[1];
                      if ((char)pbVar15[1] < '\0') {
                        bVar1 = pbVar15[2];
                        if ((char)bVar1 < '\0') {
                          if ((pbVar15[3] & 0x80) == 0) {
                            uVar14 = 3;
                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |
                                    (bVar1 & 0x7f) << 7;
                          }
                          else {
                            uVar14 = FUN_0003b460();
                            uVar9 = 0xffffffff;
                            if (local_28 == 0) {
                              uVar9 = local_2c;
                            }
                            uVar14 = uVar14 & 0xff;
                          }
                        }
                        else {
                          uVar14 = 2;
                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;
                        }
                      }
                      else {
                        uVar14 = 1;
                      }
                      bVar21 = true;
                      local_dc = 0;
                      if (pcVar20[iVar6] != '\0') {
                        local_dc = FUN_00079820();
                        bVar21 = false;
                        if (local_dc == 0) {
                          local_dc = FUN_00071970(uVar9,0xffffffff,0);
                          bVar21 = local_dc == 0;
                        }
                      }
                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;
                      iVar6 = iVar16;
                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));
                    local_5c = local_dc;
                    piVar4 = local_4c;
                    if (local_dc == 0) goto LAB_0014ddea;
                  }
                  local_b4 = (int *)local_b4[4];
                  piVar4 = local_4c;
                } while ((local_b4 != (int *)0x0) && (bVar21));
                local_88 = local_88 + 1;
                iVar6 = local_c0[7];
                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;
                iVar16 = local_c0[8];
              }
              local_88 = local_88 + 1;
            } while (local_88 < iVar6);
          }
        }
        else {
          local_74 = local_34;
          piVar4 = local_4c;
        }
LAB_0014d9b9:
        FUN_000c0450(piVar4);
        if (local_34 == local_74) {
          local_34 = uVar5;
        }
        FUN_00044000(local_50);
      }
    }
    if (local_5c == 0) goto LAB_0014da0a;
  }
  FUN_00044000(local_38);
  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);
  uVar5 = local_5c;
  if (*(int *)(iVar2 + 0xc) != 0) {
    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));
    uVar5 = local_5c;
  }
LAB_0014d7d0:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00153870();
  }
  return uVar5;
}


PUSH EBP
PUSH EDI
CALL 0x0003a401
ADD EDI,0x6d6e1
PUSH ESI
PUSH EBX
SUB ESP,0xcc
MOV dword ptr [ESP + 0x30],EDX
MOV EDX,dword ptr [ESP + 0xe8]
MOV dword ptr [ESP + 0xc],EDI
MOV EDI,dword ptr [ESP + 0xe0]
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x44],EDI
MOV EDI,dword ptr [ESP + 0xe4]
MOV dword ptr [ESP + 0x38],ECX
MOV dword ptr [ESP + 0x3c],EDI
MOV dword ptr [ESP + 0x40],EDX
MOV ESI,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0xbc],ESI
XOR ESI,ESI
MOV dword ptr [ESP + 0x34],EAX
MOV dword ptr [ESP + 0xa4],0x0
MOV dword ptr [ESP + 0xa8],0x0
MOV dword ptr [ESP + 0xac],0x0
TEST ECX,ECX
JZ 0x0014d8db
MOV ESI,dword ptr [ESP + 0x2c]
MOV EAX,dword ptr [ESI + 0x14]
TEST EAX,EAX
JZ 0x0014d7f0
MOV EDI,dword ptr [ESP + 0xbc]
XOR EDI,dword ptr GS:[0x14]
JNZ 0x0014ee55
ADD ESP,0xcc
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH 0x0
PUSH 0x0
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffa3ebe]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x000e9460
MOV dword ptr [ESP + 0xa0],EAX
ADD ESP,0x20
TEST EAX,EAX
JNZ 0x0014d7d0
MOV EAX,dword ptr [ESP + 0x34]
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0014d9f0
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EBX + 0x614]
MOV EAX,dword ptr [ESI + 0x28]
MOV dword ptr [ESP + 0x2c],EAX
MOV ECX,EAX
MOV EAX,dword ptr [ESP + 0x90]
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0014d880
TEST ECX,ECX
JZ 0x0014d880
LEA EAX,[ESP + 0xb0]
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x1c]
MOV EBX,dword ptr [EAX + 0x18]
TEST EBX,EBX
JNZ 0x0014d8ec
MOV EAX,dword ptr [ESP + 0x1c]
MOV ESI,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x80]
MOV dword ptr [ESP + 0x1c],ESI
TEST EAX,EAX
JNZ 0x0014d880
TEST ESI,ESI
JNZ 0x0014d858
MOV EDX,dword ptr [ESP + 0xa4]
TEST EAX,EAX
JZ 0x0014da0a
SUB ESP,0xc
PUSH EDX
CALL 0x00044000
MOV dword ptr [ESP],0x0
PUSH 0x0
PUSH 0x0
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffa3ed2]
PUSH EAX
MOV ESI,dword ptr [ESP + 0x50]
PUSH ESI
CALL 0x000e9460
MOV EAX,dword ptr [ESI + 0xc]
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0014d8cf
SUB ESP,0xc
PUSH EAX
CALL dword ptr [EBX + 0x61c]
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x80]
JMP 0x0014d7d0
MOV dword ptr [EDI],0x0
MOV dword ptr [EDX],0x0
JMP 0x0014d7c5
MOV dword ptr [ESP + 0x8c],0x0
MOV ESI,dword ptr [EAX + 0x4]
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0xa8]
MOV dword ptr [ESP + 0x90],0x0
MOV ECX,ESI
MOV dword ptr [ESP + 0x78],EAX
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [EAX + 0x4]
LEA EAX,[ESP + 0x88]
PUSH EAX
LEA EAX,[ESP + 0x90]
PUSH EAX
PUSH 0x0
LEA EAX,[ESP + 0x90]
PUSH EAX
MOV EAX,dword ptr [ESP + 0x44]
CALL 0x00112490
MOV dword ptr [ESP + 0x90],EAX
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0014d967
MOV EAX,dword ptr [ESP + 0x84]
CMP dword ptr [EDI + 0x8],EAX
JZ 0x0014ec6d
MOV dword ptr [ESP + 0x80],0x11
LEA EAX,[ESP + 0xa4]
SUB ESP,0xc
MOV dword ptr [ESP + 0x6c],EAX
LEA EBX,[ESP + 0x8c]
MOV dword ptr [ESP + 0x80],EBX
PUSH EBX
MOV ECX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [ESP + 0x40]
CALL 0x000a1ad0
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x80]
TEST ECX,ECX
JZ 0x0014da4a
MOV EAX,dword ptr [ESP + 0xa8]
MOV dword ptr [ESP + 0x68],EAX
MOV EAX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x20],EAX
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x000c0450
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x68]
CMP dword ptr [ESP + 0xa8],EAX
JZ 0x0014e67e
SUB ESP,0xc
PUSH dword ptr [ESP + 0x98]
CALL 0x00044000
ADD ESP,0x10
JMP 0x0014d867
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [ESP + 0xa4]
MOV EAX,dword ptr [EAX + 0x28]
MOV dword ptr [ESP + 0x1c],EAX
TEST EAX,EAX
JNZ 0x0014d84d
MOV EBX,dword ptr [ESP + 0x38]
MOV EAX,dword ptr [ESP + 0xa8]
TEST EBX,EBX
JZ 0x0014ecdb
TEST EAX,EAX
JLE 0x0014d88f
SUB ESP,0x4
PUSH EAX
PUSH EDX
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x48]
CALL EAX
MOV EDX,dword ptr [ESP + 0xb4]
MOV dword ptr [ESP + 0x90],EAX
ADD ESP,0x10
JMP 0x0014d88f
MOV EAX,dword ptr [ESP + 0x2c]
MOV ECX,ESI
MOV EDX,dword ptr [EAX + 0x4]
LEA EAX,[ESP + 0x90]
PUSH EAX
PUSH dword ptr [ESP + 0x8c]
PUSH dword ptr [ESP + 0x94]
PUSH dword ptr [ESP + 0x90]
MOV EAX,dword ptr [ESP + 0x44]
CALL 0x001425c0
MOV ESI,dword ptr [ESP + 0xb8]
MOV dword ptr [ESP + 0x90],EAX
MOV dword ptr [ESP + 0x78],ESI
MOV ESI,dword ptr [ESP + 0x2c]
ADD ESP,0x10
MOV EDX,dword ptr [ESI + 0x1c]
TEST EDX,EDX
JLE 0x0014de1e
MOV ECX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x20],ECX
TEST EAX,EAX
JNZ 0x0014d9b9
MOV dword ptr [ESP + 0x54],0x0
MOV EAX,dword ptr [ESI + 0x20]
MOV ECX,dword ptr [ESP + 0x54]
MOV ESI,dword ptr [EAX + ECX*0x4]
MOV dword ptr [ESP + 0x28],ESI
TEST ESI,ESI
JZ 0x0014ee27
MOV EAX,dword ptr [ESP + 0x88]
MOV EDI,dword ptr [ESP + 0x84]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV EBX,dword ptr [EAX + 0xc]
TEST EDI,EDI
JLE 0x0014dddf
MOV dword ptr [ESP + 0x18],EDI
XOR EBP,EBP
LEA ESI,[ESI]
ADD EBP,0x1
CMP byte ptr [EBX],0x5
LEA ESI,[EBX + 0x1]
JA 0x0014dca0
MOV EDI,dword ptr [ESP + 0xc]
MOVZX EAX,byte ptr [EBX]
MOV ECX,dword ptr [EDI + EAX*0x4 + 0xfffa7010]
ADD ECX,EDI
JMP ECX
CMP dword ptr [ESP + 0x18],EBP
SETG DL
TEST DL,AL
JNZ 0x0014daf8
MOV ESI,dword ptr [ESP]
MOV ECX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x80],ESI
MOV dword ptr [ESP + 0x20],ECX
TEST ESI,ESI
JZ 0x0014ddea
MOV ECX,dword ptr [ESP + 0x28]
MOV ECX,dword ptr [ECX + 0x10]
MOV dword ptr [ESP + 0x28],ECX
TEST ECX,ECX
JZ 0x0014db6d
TEST AL,AL
JNZ 0x0014dace
MOV ECX,dword ptr [ESP + 0x1c]
ADD dword ptr [ESP + 0x54],0x1
MOV EAX,dword ptr [ESP + 0x54]
MOV EDX,dword ptr [ECX + 0x1c]
CMP EAX,EDX
JGE 0x0014d9b9
TEST ESI,ESI
JNZ 0x0014d9b9
MOV EAX,dword ptr [ECX + 0x20]
JMP 0x0014dabb
ADD EBX,EDI
JMP 0x0014db2e
MOVZX ECX,byte ptr [EBX + 0x1]
TEST CL,CL
JS 0x0014de81
MOV EDI,ECX
MOV EBX,0x1
MOV EDX,dword ptr [ESP + 0x10]
ADD EBX,ESI
MOV EAX,0x1
MOV dword ptr [ESP],0x0
CMP byte ptr [EDX + EBP*0x1 + -0x1],0x0
JZ 0x0014dbc8
MOV ESI,dword ptr [ESP + 0x20]
MOV EDX,EBP
MOV dword ptr [ESP + 0x48],ECX
MOV EAX,ESI
CALL 0x00079820
MOV dword ptr [ESP],EAX
MOV EDX,dword ptr [ESP]
XOR EAX,EAX
TEST EDX,EDX
JNZ 0x0014dbc8
SUB ESP,0x4
PUSH 0x0
PUSH -0x1
MOV ECX,dword ptr [ESP + 0x54]
MOV EDX,EBP
MOV EAX,ESI
PUSH ECX
MOV ECX,EBX
CALL 0x00071970
MOV dword ptr [ESP + 0x10],EAX
ADD ESP,0x10
TEST EAX,EAX
SETZ AL
ADD EBX,EDI
JMP 0x0014db2e
MOV dword ptr [ESP + 0x80],0x0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x000e7e00
ADD ESP,0x10
CMP EAX,0x64
MOV EAX,dword ptr [ESP + 0x28]
JZ 0x0014ded4
CMP dword ptr [EAX],0x12
JNZ 0x0014e05d
MOV EAX,dword ptr [ESP + 0x80]
TEST EAX,EAX
JZ 0x0014e23c
MOV EAX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x20],EAX
JMP 0x0014d9b9
MOVZX EDX,byte ptr [EBX + 0x2]
TEST DL,DL
JNS 0x0014e2f3
MOVZX EAX,CL
MOVZX ECX,byte ptr [EBX + 0x3]
SHL EAX,0xe
OR EAX,ECX
TEST AL,0x80
JZ 0x0014e33d
MOV EDX,dword ptr [ESP + 0x50]
MOV EAX,ESI
MOV EDI,0xffffffff
CALL 0x0003b460
MOV EBX,dword ptr [ESP + 0xb4]
MOV ECX,0xffffffff
MOV EDX,dword ptr [ESP + 0xb0]
TEST EBX,EBX
JNZ 0x0014decc
MOV ECX,EDX
MOV EDI,EDX
MOVZX EBX,AL
JMP 0x0014dcb3
CMP dword ptr [EAX],0x12
JZ 0x0014ed38
MOV EAX,dword ptr [ESP + 0x88]
MOV ESI,dword ptr [ESP + 0xac]
MOV dword ptr [ESP + 0x94],0x0
MOV EDX,dword ptr [ESP + 0xa8]
MOV EBP,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x64],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x7c],EDX
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [ESP + 0xb0],0x0
MOV dword ptr [ESP + 0xb4],0x0
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,ESI
MOV dword ptr [ESP + 0xb8],0x0
SUB EAX,EDX
TEST EAX,EAX
JLE 0x0014e3f8
MOV EAX,EDX
LEA EDX,[EAX + 0x1]
MOV dword ptr [ESP + 0xa8],EDX
MOV EDX,dword ptr [ESP + 0xa4]
MOV byte ptr [EDX + EAX*0x1],0x17
MOV EAX,dword ptr [ESP + 0x28]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x94]
TEST EAX,EAX
JNZ 0x0014e46e
MOV EAX,dword ptr [ESP + 0xa4]
MOV ESI,dword ptr [ESP + 0xac]
MOV ECX,dword ptr [ESP + 0xa8]
MOV dword ptr [ESP],EAX
MOV EAX,ESI
SUB EAX,ECX
TEST EAX,EAX
JG 0x0014e00f
TEST ESI,ESI
MOV EAX,0x80
MOV dword ptr [ESP + 0x20],EBP
MOV EBX,ECX
CMOVZ ESI,EAX
SAR EBX,0x1f
MOV EDI,ESI
SAR EDI,0x1f
SHLD EDI,ESI,0x1
ADD ESI,ESI
MOV EAX,ESI
MOV EDX,EDI
SUB EAX,ECX
SBB EDX,EBX
XOR EBP,EBP
CMP EBP,EAX
SBB EBP,EDX
JGE 0x0014dfad
MOV EBP,dword ptr [ESP + 0x20]
CALL 0x00067fc0
TEST EAX,EAX
JNZ 0x0014ed09
MOV EAX,dword ptr [ESP]
MOV EDX,ESI
MOV ECX,EDI
CALL 0x00055930
MOV dword ptr [ESP],EAX
TEST EAX,EAX
JZ 0x0014ed09
MOV EDI,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0xa4],EAX
MOV dword ptr [ESP + 0xac],ESI
TEST EDI,EDI
JNZ 0x0014e46e
MOV ECX,dword ptr [ESP + 0xa8]
LEA EAX,[ECX + 0x1]
MOV ESI,dword ptr [ESP]
MOV dword ptr [ESP + 0xa8],EAX
MOVZX EAX,byte ptr [ESP + 0x10]
MOV byte ptr [ESI + ECX*0x1],AL
TEST EBP,EBP
JNZ 0x0014e476
MOV EDX,dword ptr [ESP + 0xb0]
MOV EAX,dword ptr [ESP + 0x7c]
MOV dword ptr [ESP + 0xa8],EAX
SUB ESP,0xc
PUSH EDX
CALL 0x00044000
MOV EAX,dword ptr [ESP + 0xa4]
MOV dword ptr [ESP + 0x90],EAX
ADD ESP,0x10
JMP 0x0014de16
MOV EAX,dword ptr [ESP + 0x88]
MOV ESI,dword ptr [ESP + 0xac]
MOV dword ptr [ESP + 0x98],0x0
MOV ECX,dword ptr [ESP + 0xa8]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x84]
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,ESI
SUB EAX,ECX
TEST EAX,EAX
JLE 0x0014e36e
LEA EAX,[ECX + 0x1]
MOV dword ptr [ESP + 0xa8],EAX
MOV EAX,dword ptr [ESP + 0xa4]
MOV byte ptr [EAX + ECX*0x1],0x9
MOV EAX,dword ptr [ESP + 0x28]
MOV EAX,dword ptr [EAX + 0x4]
MOV dword ptr [ESP + 0x48],EAX
MOV EAX,dword ptr [ESP + 0x98]
TEST EAX,EAX
JNZ 0x0014e17a
MOV EAX,dword ptr [ESP + 0xa4]
MOV ESI,dword ptr [ESP + 0xac]
MOV ECX,dword ptr [ESP + 0xa8]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,ESI
SUB EAX,ECX
TEST EAX,EAX
JG 0x0014e164
TEST ESI,ESI
MOV EAX,0x80
MOV EBX,ECX
MOV dword ptr [ESP],ECX
CMOVZ ESI,EAX
SAR EBX,0x1f
XOR EBP,EBP
MOV dword ptr [ESP + 0x4],EBX
MOV EDI,ESI
SAR EDI,0x1f
SHLD EDI,ESI,0x1
ADD ESI,ESI
MOV EBX,EBP
MOV EAX,ESI
SUB EAX,dword ptr [ESP]
MOV EDX,EDI
SBB EDX,dword ptr [ESP + 0x4]
CMP EBP,EAX
SBB EBX,EDX
JGE 0x0014e105
CALL 0x00067fc0
TEST EAX,EAX
JNZ 0x0014ecf9
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,ESI
MOV ECX,EDI
CALL 0x00055930
MOV dword ptr [ESP + 0x20],EAX
TEST EAX,EAX
JZ 0x0014ecf9
MOV dword ptr [ESP + 0xa4],EAX
MOV EAX,dword ptr [ESP + 0x98]
MOV dword ptr [ESP + 0xac],ESI
TEST EAX,EAX
JNZ 0x0014e17a
MOV ECX,dword ptr [ESP + 0xa8]
LEA EAX,[ECX + 0x1]
MOV ESI,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0xa8],EAX
MOVZX EAX,byte ptr [ESP + 0x48]
MOV byte ptr [ESI + ECX*0x1],AL
MOV EAX,dword ptr [ESP + 0x28]
MOV EBP,dword ptr [ESP + 0x30]
MOV EBX,dword ptr [EAX + 0xc]
TEST EBP,EBP
JZ 0x0014e7b2
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JLE 0x0014e7f6
MOV EDI,dword ptr [ESP + 0x10]
ADD EAX,EDI
MOV EBP,EAX
JMP 0x0014e1c2
LEA EDX,[EBX + 0x9]
TEST AL,AL
CMOVNZ ESI,EDX
CMP byte ptr [EDI],0x0
JNZ 0x0014e1ea
ADD EDI,0x1
CMP EDI,EBP
JZ 0x0014e7f6
MOV EBX,ESI
MOVZX EAX,byte ptr [EBX]
LEA ESI,[EBX + 0x1]
CMP AL,0x2
JBE 0x0014e1a8
CMP AL,0x5
JZ 0x0014e1b0
MOVZX EAX,byte ptr [EBX + 0x1]
MOV EDX,0x1
TEST AL,AL
JS 0x0014ebae
ADD EAX,EDX
ADD ESI,EAX
CMP byte ptr [EDI],0x0
JZ 0x0014e1b5
MOV EDX,ESI
SUB EDX,EBX
MOV dword ptr [ESP],EDX
TEST EDX,EDX
JLE 0x0014e1b5
MOV EAX,dword ptr [ESP + 0x60]
LEA ECX,[ESP + 0x98]
CALL 0x000a19a0
TEST EAX,EAX
JNZ 0x0014e1b5
MOV EAX,dword ptr [ESP + 0xa8]
SUB ESP,0x4
ADD EAX,dword ptr [ESP + 0xa8]
PUSH dword ptr [ESP + 0x4]
PUSH EBX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x00015130
MOV EAX,dword ptr [ESP + 0x10]
ADD dword ptr [ESP + 0xb8],EAX
ADD ESP,0x10
JMP 0x0014e1b5
SUB ESP,0xc
PUSH dword ptr [ESP + 0x9c]
CALL 0x000bfe40
MOV dword ptr [ESP + 0x90],EAX
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x38]
MOV ESI,EAX
TEST EDI,EDI
JNZ 0x0014e274
MOV ECX,dword ptr [ESP + 0x90]
TEST EAX,EAX
SETZ AL
MOV dword ptr [ESP + 0x20],ECX
JMP 0x0014db56
TEST EAX,EAX
JNZ 0x0014de1e
MOV EAX,dword ptr [ESP + 0xa8]
CMP EAX,dword ptr [ESP + 0x68]
JLE 0x0014e2de
MOV EDI,dword ptr [ESP + 0xc]
CMP EAX,dword ptr [EDI + 0x57c]
JLE 0x0014e2de
SUB ESP,0x4
PUSH EAX
PUSH dword ptr [ESP + 0xac]
PUSH dword ptr [ESP + 0x50]
MOV EAX,dword ptr [ESP + 0x48]
CALL EAX
MOV dword ptr [ESP + 0x90],EAX
MOV ESI,EAX
MOV dword ptr [ESP + 0xb8],0x0
ADD ESP,0x10
TEST EAX,EAX
MOV ECX,dword ptr [ESP + 0x90]
SETZ AL
MOV dword ptr [ESP + 0x20],ECX
MOV dword ptr [ESP + 0x68],0xffffffff
JMP 0x0014db56
MOV EAX,dword ptr [ESP + 0x90]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,0x1
JMP 0x0014db56
MOV EBX,ECX
AND EBX,0x7f
SHL EBX,0x7
MOV EDI,EBX
MOV EBX,0x2
OR EDI,EDX
MOV ECX,EDI
JMP 0x0014dcb3
AND EDX,0x7f
AND EAX,0x1fc07f
MOV EBX,0x3
SHL EDX,0x7
OR EAX,EDX
MOV EDI,EAX
MOV ECX,EAX
JMP 0x0014dcb3
TEST ESI,ESI
MOV EAX,0x80
MOV EBX,ECX
MOV dword ptr [ESP],ECX
CMOVZ ESI,EAX
SAR EBX,0x1f
XOR EBP,EBP
MOV dword ptr [ESP + 0x4],EBX
MOV EDI,ESI
SAR EDI,0x1f
SHLD EDI,ESI,0x1
ADD ESI,ESI
MOV EBX,EBP
MOV EAX,ESI
SUB EAX,dword ptr [ESP]
MOV EDX,EDI
SBB EDX,dword ptr [ESP + 0x4]
CMP EBP,EAX
SBB EBX,EDX
JGE 0x0014e38b
MOV EBX,dword ptr [ESP + 0xa4]
CALL 0x00067fc0
TEST EAX,EAX
JNZ 0x0014ecf9
MOV EDX,ESI
MOV ECX,EDI
MOV EAX,EBX
CALL 0x00055930
TEST EAX,EAX
JZ 0x0014ecf9
MOV dword ptr [ESP + 0xa4],EAX
MOV EAX,dword ptr [ESP + 0x98]
MOV dword ptr [ESP + 0xac],ESI
TEST EAX,EAX
JNZ 0x0014e17a
MOV ECX,dword ptr [ESP + 0xa8]
JMP 0x0014e098
TEST ESI,ESI
MOV EAX,0x80
MOV dword ptr [ESP],EBP
MOV EBX,EDX
CMOVZ ESI,EAX
MOV ECX,EDX
SAR EBX,0x1f
MOV EDI,ESI
SAR EDI,0x1f
SHLD EDI,ESI,0x1
ADD ESI,ESI
MOV EAX,ESI
MOV EDX,EDI
SUB EAX,ECX
SBB EDX,EBX
XOR EBP,EBP
CMP EBP,EAX
SBB EBP,EDX
JGE 0x0014e411
MOV EBP,dword ptr [ESP]
MOV EBX,dword ptr [ESP + 0xa4]
CALL 0x00067fc0
TEST EAX,EAX
JNZ 0x0014ed09
MOV EDX,ESI
MOV ECX,EDI
MOV EAX,EBX
CALL 0x00055930
TEST EAX,EAX
JZ 0x0014ed09
MOV dword ptr [ESP + 0xa4],EAX
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0xac],ESI
TEST EAX,EAX
JZ 0x0014edff
TEST EBP,EBP
JZ 0x0014e02c
CMP word ptr [EBP + 0x88],0x0
JZ 0x0014e02c
MOV dword ptr [ESP],0x0
MOV dword ptr [ESP + 0x48],0x1
JMP 0x0014e5ae
CMP BL,0x5
JNZ 0x0014e690
MOV EAX,dword ptr [EBP]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x0014e4c7
SUB ESP,0xc
PUSH EDX
MOV EAX,dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x614]
MOV EAX,dword ptr [EBP]
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0x74]
TEST EDX,EDX
JZ 0x0014e79e
MOVZX ECX,word ptr [EBP + 0x88]
MOV ESI,dword ptr [ESP]
CMP ECX,ESI
JLE 0x0014e79e
LEA ECX,[ESI + ESI*0x4]
MOVZX EDX,word ptr [EDX + ECX*0x8 + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
AND EDX,0x1f
MOVZX EBX,byte ptr [ECX + EDX*0x1 + 0xfffa8eb8]
CMP byte ptr [EAX + 0x4d],0x0
MOV EDX,dword ptr [EBP + 0x28]
JNZ 0x0014ea34
CMP EDX,0xc0a
JZ 0x0014ea34
AND EDX,dword ptr [EAX + 0x40]
MOV dword ptr [EBP + 0x28],EDX
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0014e532
SUB ESP,0xc
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x61c]
ADD ESP,0x10
CMP BL,0x5
JZ 0x0014e9d9
MOV ESI,dword ptr [ESP + 0x30]
TEST ESI,ESI
JZ 0x0014e9fd
MOV dword ptr [ESP + 0x48],0x0
MOV dword ptr [ESP + 0x10],0x1
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0x94]
TEST EAX,EAX
JNZ 0x0014e590
SUB ESP,0xc
MOV EDX,EBP
LEA EAX,[ESP + 0xa0]
PUSH EAX
MOV ECX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESP + 0x60]
CALL 0x000a1c40
ADD ESP,0x10
LEA ESI,[ESI]
NOP
MOV EDI,dword ptr [ESP + 0x10]
ADD dword ptr [ESP],0x1
ADD dword ptr [ESP + 0x18],EDI
MOVZX EAX,word ptr [EBP + 0x88]
MOV EDI,dword ptr [ESP]
CMP EDI,EAX
JGE 0x0014ea43
MOV EAX,dword ptr [ESP + 0x18]
MOVZX ESI,byte ptr [EAX]
MOV EBX,ESI
TEST BL,BL
JZ 0x0014e690
CMP BL,0x2
JA 0x0014e4a0
MOV EAX,dword ptr [EBP]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x0014e5e6
SUB ESP,0xc
PUSH EDX
MOV EAX,dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x614]
MOV EAX,dword ptr [EBP]
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0x74]
TEST EDX,EDX
JZ 0x0014e76c
MOVZX ECX,word ptr [EBP + 0x88]
MOV EDI,dword ptr [ESP]
CMP ECX,EDI
JLE 0x0014e76c
LEA ECX,[EDI + EDI*0x4]
MOVZX EDX,word ptr [EDX + ECX*0x8 + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
AND EDX,0x1f
MOVZX EBX,byte ptr [ECX + EDX*0x1 + 0xfffa8eb8]
CMP byte ptr [EAX + 0x4d],0x0
MOV EDX,dword ptr [EBP + 0x28]
MOV ECX,EAX
JNZ 0x0014ea80
CMP EDX,0xc0a
JZ 0x0014ea80
MOV EAX,dword ptr [ECX + 0x40]
AND EAX,EDX
MOV dword ptr [EBP + 0x28],EAX
MOV EAX,dword ptr [ECX + 0xc]
TEST EAX,EAX
JZ 0x0014e655
SUB ESP,0xc
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x61c]
ADD ESP,0x10
CMP ESI,EBX
JZ 0x0014e831
MOV EDI,dword ptr [ESP + 0x30]
TEST EDI,EDI
JZ 0x0014e809
MOV dword ptr [ESP + 0x48],0x0
MOV dword ptr [ESP + 0x10],0x9
JMP 0x0014e560
MOV EAX,dword ptr [ESP + 0x78]
MOV dword ptr [ESP + 0xa8],EAX
JMP 0x0014d9d9
MOV EAX,dword ptr [ESP + 0x18]
MOVZX EAX,byte ptr [EAX + 0x1]
TEST AL,AL
JS 0x0014ea8d
MOV dword ptr [ESP + 0x98],EAX
MOV EDI,0x2
ADD EAX,EDI
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,dword ptr [EBP]
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x0014e6d0
SUB ESP,0xc
PUSH EDX
MOV EAX,dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x614]
MOV EAX,dword ptr [EBP]
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0x74]
TEST EDX,EDX
JZ 0x0014e785
MOVZX ECX,word ptr [EBP + 0x88]
MOV EBX,dword ptr [ESP]
CMP ECX,EBX
JLE 0x0014e785
LEA ECX,[EBX + EBX*0x4]
MOVZX EDX,word ptr [EDX + ECX*0x8 + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
AND EDX,0x1f
MOVZX EBX,byte ptr [ECX + EDX*0x1 + 0xfffa8eb8]
CMP byte ptr [EAX + 0x4d],0x0
MOV EDX,dword ptr [EBP + 0x28]
JNZ 0x0014ea25
CMP EDX,0xc0a
JZ 0x0014ea25
AND EDX,dword ptr [EAX + 0x40]
MOV dword ptr [EBP + 0x28],EDX
MOV EAX,dword ptr [EAX + 0xc]
TEST EAX,EAX
JZ 0x0014e73b
SUB ESP,0xc
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
CALL dword ptr [EAX + 0x61c]
ADD ESP,0x10
CMP ESI,EBX
JZ 0x0014ebc8
MOV EAX,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [ESP + 0x30]
MOV dword ptr [ESP + 0x10],EAX
TEST ESI,ESI
JNZ 0x0014e75f
MOV EDX,dword ptr [ESP + 0x10]
TEST EDX,EDX
JG 0x0014ee0b
MOV dword ptr [ESP + 0x48],0x0
JMP 0x0014e560
MOV dword ptr [EAX + 0x3c],0x19
MOV EBX,0x5
CALL 0x0004c5a0
MOV EAX,dword ptr [EBP]
JMP 0x0014e61a
MOV dword ptr [EAX + 0x3c],0x19
MOV EBX,0x5
CALL 0x0004c5a0
MOV EAX,dword ptr [EBP]
JMP 0x0014e704
MOV dword ptr [EAX + 0x3c],0x19
CALL 0x0004c5a0
MOV EAX,dword ptr [EBP]
JMP 0x0014e4fb
MOV ESI,dword ptr [EAX + 0x8]
TEST ESI,ESI
JLE 0x0014e7f6
MOV EAX,dword ptr [ESP + 0x60]
LEA ECX,[ESP + 0x98]
MOV EDX,ESI
CALL 0x000a19a0
TEST EAX,EAX
JNZ 0x0014e7f6
MOV EAX,dword ptr [ESP + 0xa8]
SUB ESP,0x4
ADD EAX,dword ptr [ESP + 0xa8]
PUSH ESI
PUSH EBX
PUSH EAX
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x00015130
ADD dword ptr [ESP + 0xb8],ESI
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x98]
MOV dword ptr [ESP + 0x80],EAX
JMP 0x0014de16
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x48],EAX
TEST EAX,EAX
JZ 0x0014eab2
MOV dword ptr [ESP + 0x48],0x0
MOV dword ptr [ESP + 0x10],0x9
JMP 0x0014e590
MOV ECX,dword ptr [ESP + 0x18]
XOR EBX,EBX
MOV EAX,dword ptr [ECX + 0x1]
MOV ECX,dword ptr [ECX + 0x5]
BSWAP EAX
MOV EDX,EAX
XOR EAX,EAX
BSWAP ECX
ADD ECX,EAX
ADC EBX,EDX
MOV dword ptr [ESP + 0x10],ECX
MOV dword ptr [ESP + 0x14],EBX
CMP ESI,0x1
JZ 0x0014eca8
MOV EDX,dword ptr [ESP]
MOV EAX,EBP
MOV dword ptr [ESP + 0x98],ECX
MOV dword ptr [ESP + 0x9c],EBX
CALL 0x0004c5d0
CALL 0x000455a0
MOV EAX,EBP
FSTP qword ptr [ESP + 0x20]
CALL 0x0004c6c0
FLD qword ptr [ESP + 0x10]
FLD qword ptr [ESP + 0x20]
FUCOMIP ST0,ST1
FSTP ST0
JP 0x0014e65d
JNZ 0x0014e65d
MOV ECX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x10],0x9
ADD EAX,dword ptr [ESP]
TEST ECX,ECX
JNZ 0x0014e9cb
MOV dword ptr [ESP + 0x20],0x9
CMP byte ptr [EAX],0x0
JNZ 0x0014ee3d
MOV EAX,dword ptr [ESP + 0x60]
LEA ECX,[ESP + 0x94]
MOV EDX,0x1
CALL 0x000a19a0
TEST EAX,EAX
JNZ 0x0014e900
MOV EAX,dword ptr [ESP + 0xa8]
LEA EDX,[EAX + 0x1]
MOV dword ptr [ESP + 0xa8],EDX
MOV EDX,dword ptr [ESP + 0xa4]
MOV byte ptr [EDX + EAX*0x1],0x0
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0x94]
TEST EAX,EAX
JNZ 0x0014e590
MOV EAX,dword ptr [ESP + 0xb0]
MOV ESI,dword ptr [ESP + 0xb8]
MOV ECX,dword ptr [ESP + 0xb4]
MOV dword ptr [ESP + 0x20],EAX
MOV EAX,ESI
SUB EAX,ECX
TEST EAX,EAX
JG 0x0014e9b4
TEST ESI,ESI
MOV EAX,0x80
MOV dword ptr [ESP + 0x58],EBP
MOV EBX,ECX
CMOVZ ESI,EAX
SAR EBX,0x1f
MOV EDI,ESI
SAR EDI,0x1f
LEA ESI,[ESI]
SHLD EDI,ESI,0x1
ADD ESI,ESI
MOV EAX,ESI
MOV EDX,EDI
SUB EAX,ECX
SBB EDX,EBX
XOR EBP,EBP
CMP EBP,EAX
SBB EBP,EDX
JGE 0x0014e950
MOV EBP,dword ptr [ESP + 0x58]
CALL 0x00067fc0
TEST EAX,EAX
JNZ 0x0014ec98
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,ESI
MOV ECX,EDI
CALL 0x00055930
MOV dword ptr [ESP + 0x20],EAX
TEST EAX,EAX
JZ 0x0014ec98
MOV EDX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0xb0],EAX
MOV dword ptr [ESP + 0xb8],ESI
TEST EDX,EDX
JNZ 0x0014e590
MOV ECX,dword ptr [ESP + 0xb4]
LEA EAX,[ECX + 0x1]
MOV dword ptr [ESP + 0xb4],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV byte ptr [EAX + ECX*0x1],0x0
JMP 0x0014e590
CMP byte ptr [EAX],0x0
JZ 0x0014e900
JMP 0x0014e560
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x64]
MOV dword ptr [ESP + 0x10],0x1
ADD EAX,dword ptr [ESP]
TEST EDX,EDX
JNZ 0x0014e9cb
MOV dword ptr [ESP + 0x20],0x1
JMP 0x0014e8bd
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x48],EAX
TEST EAX,EAX
JZ 0x0014ec50
MOV dword ptr [ESP + 0x48],0x0
MOV dword ptr [ESP + 0x10],0x1
JMP 0x0014e590
CALL 0x0004c680
MOV EDX,EAX
MOV EAX,dword ptr [EBP]
JMP 0x0014e720
CALL 0x0004c680
MOV EDX,EAX
MOV EAX,dword ptr [EBP]
JMP 0x0014e517
MOV EAX,dword ptr [ESP + 0x48]
MOV EDX,dword ptr [ESP + 0xb0]
TEST EAX,EAX
JNZ 0x0014e033
SUB ESP,0xc
LEA EAX,[ESP + 0xa0]
PUSH EAX
MOV ECX,dword ptr [ESP + 0xc4]
MOV EAX,dword ptr [ESP + 0x70]
CALL 0x000a1a70
MOV EDX,dword ptr [ESP + 0xc0]
ADD ESP,0x10
JMP 0x0014e03e
CALL 0x0004c680
MOV ECX,dword ptr [EBP]
JMP 0x0014e63a
MOV EAX,dword ptr [ESP + 0x18]
LEA EDX,[ESP + 0x98]
ADD EAX,0x1
CALL 0x00044cf0
MOVZX EDI,AL
MOV EAX,dword ptr [ESP + 0x98]
ADD EDI,0x1
JMP 0x0014e6ac
MOV dword ptr [ESP + 0x10],0x9
MOV dword ptr [ESP + 0x6c],0x1
MOV dword ptr [ESP + 0x20],0x9
MOV EAX,dword ptr [ESP + 0xa4]
MOV ESI,dword ptr [ESP + 0xac]
MOV ECX,dword ptr [ESP + 0xa8]
MOV EDX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,ESI
SUB EAX,ECX
CMP EDX,EAX
JLE 0x0014eb76
TEST ESI,ESI
MOV EAX,0x80
MOV dword ptr [ESP + 0x58],EDX
MOV EBX,ECX
CMOVZ ESI,EAX
SAR EDX,0x1f
MOV dword ptr [ESP + 0x5c],EDX
SAR EBX,0x1f
MOV EDI,ESI
SAR EDI,0x1f
SHLD EDI,ESI,0x1
ADD ESI,ESI
MOV EAX,ESI
MOV EDX,EDI
SUB EAX,ECX
SBB EDX,EBX
CMP EAX,dword ptr [ESP + 0x58]
MOV EAX,EDX
SBB EAX,dword ptr [ESP + 0x5c]
JL 0x0014eb12
CALL 0x00067fc0
TEST EAX,EAX
JNZ 0x0014ed19
MOV EAX,dword ptr [ESP + 0x70]
MOV EDX,ESI
MOV ECX,EDI
CALL 0x00055930
MOV dword ptr [ESP + 0x70],EAX
TEST EAX,EAX
JZ 0x0014ed19
MOV dword ptr [ESP + 0xa4],EAX
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0xac],ESI
TEST EAX,EAX
JNZ 0x0014ed24
MOV ECX,dword ptr [ESP + 0xa8]
ADD ECX,dword ptr [ESP + 0x70]
SUB ESP,0x4
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x20]
PUSH ECX
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x00015130
MOV EAX,dword ptr [ESP + 0x30]
ADD dword ptr [ESP + 0xb8],EAX
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x6c]
TEST EAX,EAX
JZ 0x0014e900
JMP 0x0014e560
MOV EDX,dword ptr [ESP + 0x50]
MOV EAX,ESI
CALL 0x00044cf0
MOVZX EDX,AL
MOV EAX,dword ptr [ESP + 0xb0]
JMP 0x0014e1e1
MOV EDX,dword ptr [ESP]
MOV EAX,EBP
CALL 0x0004c5d0
CALL 0x0007f360
MOV EBX,EAX
MOV EAX,EBP
CALL 0x0004c6c0
MOV ESI,dword ptr [ESP + 0x98]
CMP ESI,EBX
JNZ 0x0014e743
TEST ESI,ESI
JNZ 0x0014edc0
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x64]
ADD EAX,dword ptr [ESP]
MOV dword ptr [ESP + 0x10],ESI
TEST EBX,EBX
JNZ 0x0014e9cb
MOV EAX,dword ptr [ESP + 0x64]
MOV ECX,dword ptr [ESP]
CMP byte ptr [EAX + ECX*0x1],0x0
JZ 0x0014e8c6
MOV EAX,dword ptr [ESP + 0x20]
TEST EAX,EAX
JLE 0x0014e900
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x6c],EAX
TEST EAX,EAX
JZ 0x0014eaca
JMP 0x0014e900
MOV dword ptr [ESP + 0x10],0x1
MOV dword ptr [ESP + 0x6c],0x1
MOV dword ptr [ESP + 0x20],0x1
JMP 0x0014eaca
SUB ESP,0x4
PUSH EAX
MOV EAX,dword ptr [ESP + 0x24]
PUSH dword ptr [EAX + 0x14]
PUSH dword ptr [ESP + 0x94]
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x000151a0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0014d967
JMP 0x0014d95c
MOV dword ptr [ESP + 0x94],0x7
JMP 0x0014e590
MOV EDX,dword ptr [ESP]
MOV EAX,EBP
CALL 0x0004c5d0
CALL 0x00045540
MOV EBX,EAX
MOV EAX,EBP
MOV ESI,EDX
CALL 0x0004c6c0
MOV EAX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0x14]
XOR EBX,EAX
XOR ESI,EDX
OR ESI,EBX
JNZ 0x0014e65d
JMP 0x0014e89a
MOV dword ptr [ESP + 0xa4],0x0
MOV EBX,dword ptr [ESP + 0x3c]
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [ESP + 0x40]
MOV dword ptr [EAX],EDX
XOR EDX,EDX
JMP 0x0014d88f
MOV dword ptr [ESP + 0x98],0x7
JMP 0x0014e17a
MOV dword ptr [ESP + 0x94],0x7
JMP 0x0014e46e
MOV dword ptr [ESP + 0x94],0x7
MOV ECX,dword ptr [ESP + 0x6c]
TEST ECX,ECX
JZ 0x0014e900
JMP 0x0014e590
MOV EBX,dword ptr [ESP + 0x74]
MOV ESI,dword ptr [ESP + 0x60]
MOV EDX,0x12
MOV ECX,EBX
MOV EAX,ESI
CALL 0x00133280
MOV EAX,dword ptr [ESP + 0x28]
MOV ECX,EBX
XOR EBX,EBX
MOVZX EDX,byte ptr [EAX + 0x4]
MOV EAX,ESI
CALL 0x00133280
MOV EDX,dword ptr [ESP + 0x84]
MOV EAX,dword ptr [ESP + 0x80]
TEST EDX,EDX
JLE 0x0014de16
TEST EAX,EAX
JZ 0x0014ed87
ADD EBX,0x1
CMP EBX,EDX
JL 0x0014ed77
JMP 0x0014de1e
SUB ESP,0xc
MOV ECX,EBX
ADD EBX,0x1
PUSH dword ptr [ESP + 0x80]
MOV EDX,dword ptr [ESP + 0xa0]
MOV EAX,dword ptr [ESP + 0x70]
CALL 0x000a1c40
MOV EDX,dword ptr [ESP + 0x94]
MOV EAX,dword ptr [ESP + 0x90]
ADD ESP,0x10
CMP EBX,EDX
JL 0x0014ed77
JMP 0x0014de16
MOV EDX,dword ptr [ESP]
MOV EAX,EBP
CALL 0x0004c5d0
SUB ESP,0xc
PUSH EAX
CALL 0x0007f710
MOV EBX,EAX
MOV EAX,EBP
CALL 0x0004c6c0
ADD ESP,0xc
PUSH ESI
PUSH EBX
ADD EDI,dword ptr [ESP + 0x24]
PUSH EDI
MOV EBX,dword ptr [ESP + 0x1c]
CALL 0x000151a0
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x0014e743
JMP 0x0014ebf7
MOV EAX,dword ptr [ESP + 0xa8]
JMP 0x0014df46
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x48],EAX
TEST EAX,EAX
JZ 0x0014ee5a
MOV dword ptr [ESP + 0x48],0x0
JMP 0x0014e590
ADD dword ptr [ESP + 0x54],0x1
MOV EDI,dword ptr [ESP + 0x54]
CMP EDI,EDX
JL 0x0014dabb
JMP 0x0014d9b9
MOV EAX,dword ptr [ESP + 0x94]
MOV dword ptr [ESP + 0x6c],EAX
TEST EAX,EAX
JNZ 0x0014e590
JMP 0x0014eaca
CALL 0x00153870
MOV dword ptr [ESP + 0x6c],0x1
JMP 0x0014eaca
(translation_unit "uint FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00153870();\n  }\n  return uVar5;\n}\n\n" (function_definition "uint FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00153870();\n  }\n  return uVar5;\n}" type_identifier (function_declarator "FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,uint *param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00153870();\n  }\n  return uVar5;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "void *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "code *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "longdouble lVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "longlong lVar24;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "uint local_cc;" type_identifier identifier ;) (declaration "byte *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined4 *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "int *local_b4;" primitive_type (pointer_declarator "*local_b4" * identifier) ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "size_t local_58;" primitive_type identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "uVar23 = FUN_0003a401();" (assignment_expression "uVar23 = FUN_0003a401()" identifier = (call_expression "FUN_0003a401()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar10 = (int)((ulonglong)uVar23 >> 0x20);" (assignment_expression "iVar10 = (int)((ulonglong)uVar23 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar4 = (int *)uVar23;" (assignment_expression "piVar4 = (int *)uVar23" identifier = (cast_expression "(int *)uVar23" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar2 = *piVar4;" (assignment_expression "iVar2 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_2 = 0;\n    *param_3 = 0;\n  }" { (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) })) (expression_statement "uVar5 = piVar4[5];" (assignment_expression "uVar5 = piVar4[5]" identifier = (subscript_expression "piVar4[5]" identifier [ number_literal ])) ;) (if_statement "if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;" if (parenthesized_expression "((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))" ( (binary_expression "(piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0)" (parenthesized_expression "(piVar4[5] != 0)" ( (binary_expression "piVar4[5] != 0" (subscript_expression "piVar4[5]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0)" ( (comma_expression "local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0" (assignment_expression "local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0)" identifier = (call_expression "FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0)" identifier (argument_list "(*piVar4,unaff_EDI + 0x1159f,0,0,0)" ( (pointer_expression "*piVar4" * identifier) , (binary_expression "unaff_EDI + 0x1159f" identifier + number_literal) , number_literal , number_literal , number_literal )))) , (comma_expression "uVar5 = local_5c, local_5c != 0" (assignment_expression "uVar5 = local_5c" identifier = identifier) , (binary_expression "local_5c != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0014d7d0;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar2 + 0xc) == 0" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }" { (expression_statement "local_c0 = (undefined4 *)piVar4[10];" (assignment_expression "local_c0 = (undefined4 *)piVar4[10]" identifier = (cast_expression "(undefined4 *)piVar4[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ;) (if_statement "if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;" if (parenthesized_expression "(local_c0 != (undefined4 *)0x0)" ( (binary_expression "local_c0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014d858;" goto statement_identifier ;)) (labeled_statement "LAB_0014da0a:\n    iVar10 = local_38;" statement_identifier : (expression_statement "iVar10 = local_38;" (assignment_expression "iVar10 = local_38" identifier = identifier) ;)) (if_statement "if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }" { (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "*param_2 = local_34;" (assignment_expression "*param_2 = local_34" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "*param_3 = iVar10;" (assignment_expression "*param_3 = iVar10" (pointer_expression "*param_3" * identifier) = identifier) ;) }) (else_clause "else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" else (if_statement "if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" if (parenthesized_expression "(0 < (int)local_34)" ( (binary_expression "0 < (int)local_34" number_literal < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" { (expression_statement "local_5c = (*extraout_ECX)(param_1,local_38,local_34);" (assignment_expression "local_5c = (*extraout_ECX)(param_1,local_38,local_34)" identifier = (call_expression "(*extraout_ECX)(param_1,local_38,local_34)" (parenthesized_expression "(*extraout_ECX)" ( (pointer_expression "*extraout_ECX" * identifier) )) (argument_list "(param_1,local_38,local_34)" ( identifier , identifier , identifier )))) ;) })))) }) (else_clause "else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" else (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar2 + 0xc))" ( (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) ))) ;) (for_statement "for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }" for ( (assignment_expression "local_c0 = (undefined4 *)piVar4[10]" identifier = (cast_expression "(undefined4 *)piVar4[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ; (parenthesized_expression "(local_5c == 0 && (local_c0 != (undefined4 *)0x0))" ( (binary_expression "local_5c == 0 && (local_c0 != (undefined4 *)0x0)" (binary_expression "local_5c == 0" identifier == number_literal) && (parenthesized_expression "(local_c0 != (undefined4 *)0x0)" ( (binary_expression "local_c0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ; (assignment_expression "local_c0 = (undefined4 *)*local_c0" identifier = (cast_expression "(undefined4 *)*local_c0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_c0" * identifier))) ) (compound_statement "{\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }" { (labeled_statement "LAB_0014d858:\n      uVar5 = local_34;" statement_identifier : (expression_statement "uVar5 = local_34;" (assignment_expression "uVar5 = local_34" identifier = identifier) ;)) (if_statement "if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }" if (parenthesized_expression "(local_c0[6] != 0)" ( (binary_expression "local_c0[6] != 0" (subscript_expression "local_c0[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = (int *)0x0;" (assignment_expression "local_4c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);" (assignment_expression "local_5c = FUN_00112490(&local_58,0,&local_50,&local_54)" identifier = (call_expression "FUN_00112490(&local_58,0,&local_50,&local_54)" identifier (argument_list "(&local_58,0,&local_50,&local_54)" ( (pointer_expression "&local_58" & identifier) , number_literal , (pointer_expression "&local_50" & identifier) , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }" if (parenthesized_expression "((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0))))" ( (binary_expression "(local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))" (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) && (parenthesized_expression "((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))" ( (parenthesized_expression "(local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0))" ( (binary_expression "local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)" (binary_expression "local_c0[2] != local_58" (subscript_expression "local_c0[2]" identifier [ number_literal ]) != identifier) || (parenthesized_expression "(iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)" ( (comma_expression "iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0" (assignment_expression "iVar6 = memcmp(local_54,(void *)local_c0[5],local_58)" identifier = (call_expression "memcmp(local_54,(void *)local_c0[5],local_58)" identifier (argument_list "(local_54,(void *)local_c0[5],local_58)" ( identifier , (cast_expression "(void *)local_c0[5]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c0[5]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n          local_5c = 0x11;\n        }" { (expression_statement "local_5c = 0x11;" (assignment_expression "local_5c = 0x11" identifier = number_literal) ;) })) (expression_statement "FUN_000a1ad0(&local_5c);" (call_expression "FUN_000a1ad0(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;) (if_statement "if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" if (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) (compound_statement "{\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }" { (expression_statement "local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);" (assignment_expression "local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c)" identifier = (call_expression "FUN_001425c0(local_58,local_50,local_54,&local_4c)" identifier (argument_list "(local_58,local_50,local_54,&local_4c)" ( identifier , identifier , identifier , (pointer_expression "&local_4c" & identifier) )))) ;) (expression_statement "local_74 = local_34;" (assignment_expression "local_74 = local_34" identifier = identifier) ;) (expression_statement "iVar6 = local_c0[7];" (assignment_expression "iVar6 = local_c0[7]" identifier = (subscript_expression "local_c0[7]" identifier [ number_literal ])) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }" if (parenthesized_expression "((0 < iVar6) && (local_5c == 0))" ( (binary_expression "(0 < iVar6) && (local_5c == 0)" (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) && (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) ))) )) (compound_statement "{\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = local_c0[8];" (assignment_expression "iVar16 = local_c0[8]" identifier = (subscript_expression "local_c0[8]" identifier [ number_literal ])) ;) (do_statement "do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);" do (compound_statement "{\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            }" { (while_statement "while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }" while (parenthesized_expression "(local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0)" ( (comma_expression "local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0" (assignment_expression "local_b4 = *(int **)(iVar16 + local_88 * 4)" identifier = (pointer_expression "*(int **)(iVar16 + local_88 * 4)" * (cast_expression "(int **)(iVar16 + local_88 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + local_88 * 4)" ( (binary_expression "iVar16 + local_88 * 4" identifier + (binary_expression "local_88 * 4" identifier * number_literal)) ))))) , (binary_expression "local_b4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }" { (do_statement "do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));" do (compound_statement "{\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                }" { (expression_statement "pcVar20 = local_54;" (assignment_expression "pcVar20 = local_54" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) (expression_statement "pbVar15 = (byte *)local_b4[3];" (assignment_expression "pbVar15 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;) (if_statement "if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" if (parenthesized_expression "((int)local_58 < 1)" ( (binary_expression "(int)local_58 < 1" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }" { (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (labeled_statement "LAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);" statement_identifier : (expression_statement "iVar6 = FUN_000e7e00(piVar4);" (assignment_expression "iVar6 = FUN_000e7e00(piVar4)" identifier = (call_expression "FUN_000e7e00(piVar4)" identifier (argument_list "(piVar4)" ( identifier )))) ;)) (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" identifier = identifier) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (expression_statement "pcVar20 = local_54;" (assignment_expression "pcVar20 = local_54" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) (if_statement "if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }" { (if_statement "if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" if (parenthesized_expression "(*local_b4 == 0x12)" ( (binary_expression "*local_b4 == 0x12" (pointer_expression "*local_b4" * identifier) == number_literal) )) (compound_statement "{\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }" { (expression_statement "FUN_00133280();" (call_expression "FUN_00133280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "FUN_00133280();" (call_expression "FUN_00133280()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) (if_statement "if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }" if (parenthesized_expression "(0 < (int)local_58)" ( (binary_expression "0 < (int)local_58" number_literal < (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }" { (do_statement "do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);" do (compound_statement "{\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          }" { (while_statement "while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }" while (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;" if (parenthesized_expression "((int)sVar11 <= iVar6)" ( (binary_expression "(int)sVar11 <= iVar6" (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "FUN_000a1c40(&local_5c);" (call_expression "FUN_000a1c40(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) }) while (parenthesized_expression "(iVar6 < (int)local_58)" ( (binary_expression "iVar6 < (int)local_58" identifier < (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" else (compound_statement "{\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_c4 = (byte *)local_b4[3];" (assignment_expression "local_c4 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" if (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" ( (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" identifier == identifier) || (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }" { (expression_statement "uVar14 = local_30;" (assignment_expression "uVar14 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                            uVar14 = 0x80;\n                          }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar14 >> 0x1f" identifier = (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));" do (compound_statement "{\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          }" { (expression_statement "uVar17 = uVar17 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar14 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar14 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" identifier = (binary_expression "uVar14 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)))" ( (binary_expression "(int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" (cast_expression "(int)(uint)(uVar14 - local_34 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar14 - local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 - local_34 != 0)" ( (binary_expression "uVar14 - local_34 != 0" (binary_expression "uVar14 - local_34" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" - (parenthesized_expression "((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" ( (binary_expression "(uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)" (parenthesized_expression "(uVar17 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar17 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar14 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_34)" ( (binary_expression "uVar14 < local_34" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }" { (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" identifier = identifier) ;) (expression_statement "local_30 = uVar14;" (assignment_expression "local_30 = uVar14" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014df46;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014df46;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" else (compound_statement "{\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" { (labeled_statement "LAB_0014ed09:\n                            local_48 = 7;" statement_identifier : (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" identifier = number_literal) ;)) }))) }) (else_clause "else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" else (compound_statement "{\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" { (labeled_statement "LAB_0014df46:\n                          uVar14 = local_34 + 1;" statement_identifier : (expression_statement "uVar14 = local_34 + 1;" (assignment_expression "uVar14 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined1 *)(local_38 + local_34) = 0x17;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = 0x17" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = number_literal) ;) (expression_statement "iVar6 = local_b4[1];" (assignment_expression "iVar6 = local_b4[1]" identifier = (subscript_expression "local_b4[1]" identifier [ number_literal ])) ;) (expression_statement "local_34 = uVar14;" (assignment_expression "local_34 = uVar14" identifier = identifier) ;) (if_statement "if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }" { (if_statement "if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }" if (parenthesized_expression "(local_30 == uVar14 || (int)(local_30 - uVar14) < 0)" ( (binary_expression "local_30 == uVar14 || (int)(local_30 - uVar14) < 0" (binary_expression "local_30 == uVar14" identifier == identifier) || (binary_expression "(int)(local_30 - uVar14) < 0" (cast_expression "(int)(local_30 - uVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - uVar14)" ( (binary_expression "local_30 - uVar14" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }" { (expression_statement "uVar17 = local_30;" (assignment_expression "uVar17 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                                uVar17 = 0x80;\n                              }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar19 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar19 = (int)uVar17 >> 0x1f" identifier = (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));" do (compound_statement "{\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              }" { (expression_statement "uVar19 = uVar19 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | uVar17 >> 0x1f" identifier = (binary_expression "uVar19 << 1 | uVar17 >> 0x1f" (binary_expression "uVar19 << 1" identifier << number_literal) | (binary_expression "uVar17 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" identifier = (binary_expression "uVar17 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)))" ( (binary_expression "(int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" (cast_expression "(int)(uint)(uVar17 - uVar14 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar17 - uVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 - uVar14 != 0)" ( (binary_expression "uVar17 - uVar14 != 0" (binary_expression "uVar17 - uVar14" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" - (parenthesized_expression "((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" ( (binary_expression "(uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)" (parenthesized_expression "(uVar19 - ((int)uVar14 >> 0x1f))" ( (binary_expression "uVar19 - ((int)uVar14 >> 0x1f)" identifier - (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar17 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar14)" ( (binary_expression "uVar17 < uVar14" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar16 = FUN_00067fc0();" (assignment_expression "iVar16 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;" if (parenthesized_expression "((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))" ( (binary_expression "(iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar16 = FUN_00055930(), iVar16 == 0)" ( (comma_expression "iVar16 = FUN_00055930(), iVar16 == 0" (assignment_expression "iVar16 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014ed09;" goto statement_identifier ;)) (expression_statement "local_38 = iVar16;" (assignment_expression "local_38 = iVar16" identifier = identifier) ;) (expression_statement "local_30 = uVar17;" (assignment_expression "local_30 = uVar17" identifier = identifier) ;) (if_statement "if (local_48 != 0) goto joined_r0x0014e470;" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (goto_statement "goto joined_r0x0014e470;" goto statement_identifier ;)) })) (expression_statement "local_cc._0_1_ = (undefined1)iVar6;" (assignment_expression "local_cc._0_1_ = (undefined1)iVar6" (field_expression "local_cc._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = (undefined1)local_cc" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = (cast_expression "(undefined1)local_cc" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "joined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" statement_identifier : (if_statement "if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" if (parenthesized_expression "((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0))" ( (binary_expression "(piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)" (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((short)piVar4[0x22] != 0)" ( (binary_expression "(short)piVar4[0x22] != 0" (cast_expression "(short)piVar4[0x22]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "piVar4[0x22]" identifier [ number_literal ])) != number_literal) ))) )) (compound_statement "{\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" { (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "local_94 = 1;" (assignment_expression "local_94 = 1" identifier = number_literal) ;) (do_statement "do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));" do (compound_statement "{\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          }" { (expression_statement "bVar1 = *local_c4;" (assignment_expression "bVar1 = *local_c4" identifier = (pointer_expression "*local_c4" * identifier)) ;) (if_statement "if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }" { (labeled_statement "LAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" statement_identifier : (if_statement "if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" if (parenthesized_expression "((char)local_c4[1] < '\0')" ( (binary_expression "(char)local_c4[1] < '\0'" (cast_expression "(char)local_c4[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_c4[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }" { (expression_statement "uVar14 = FUN_00044cf0();" (assignment_expression "uVar14 = FUN_00044cf0()" identifier = (call_expression "FUN_00044cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = (uVar14 & 0xff) + 1;" (assignment_expression "iVar6 = (uVar14 & 0xff) + 1" identifier = (binary_expression "(uVar14 & 0xff) + 1" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" else (compound_statement "{\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" { (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "local_44 = (uint)local_c4[1];" (assignment_expression "local_44 = (uint)local_c4[1]" identifier = (cast_expression "(uint)local_c4[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_c4[1]" identifier [ number_literal ]))) ;) })))) (expression_statement "local_cc = local_44 + iVar6;" (assignment_expression "local_cc = local_44 + iVar6" identifier = (binary_expression "local_44 + iVar6" identifier + identifier)) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }" if (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar16 + 0xc))" ( (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" if (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" ( (binary_expression "(piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" ( (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" ( (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) )))) <= (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }" { (expression_statement "*(undefined4 *)(iVar16 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar16 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar16 + 0x3c)" * (cast_expression "(undefined4 *)(iVar16 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x3c)" ( (binary_expression "iVar16 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar13 = 5;" (assignment_expression "bVar13 = 5" identifier = number_literal) ;) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }) (else_clause "else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" else (compound_statement "{\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" { (expression_statement "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));" (assignment_expression "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" identifier = (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" * (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" ( (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" * (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_dc * 0x28" identifier * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" if (parenthesized_expression "((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" ( (binary_expression "(*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar16 + 0x4d) == '\0')" ( (binary_expression "*(char *)(iVar16 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar16 + 0x4d)" * (cast_expression "(char *)(iVar16 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x4d)" ( (binary_expression "iVar16 + 0x4d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar4[10] != 0xc0a)" ( (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }" { (expression_statement "uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);" (assignment_expression "uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40)" identifier = (binary_expression "piVar4[10] & *(uint *)(iVar16 + 0x40)" (subscript_expression "piVar4[10]" identifier [ number_literal ]) & (pointer_expression "*(uint *)(iVar16 + 0x40)" * (cast_expression "(uint *)(iVar16 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x40)" ( (binary_expression "iVar16 + 0x40" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" else (compound_statement "{\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" { (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" identifier = (call_expression "FUN_0004c680()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }" if (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar16 + 0xc))" ( (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar14 = local_cc;" (assignment_expression "uVar14 = local_cc" identifier = identifier) ;) (if_statement "if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" if (parenthesized_expression "(bVar1 == bVar13)" ( (binary_expression "bVar1 == bVar13" identifier == identifier) )) (compound_statement "{\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }" { (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar11 = FUN_0007f360();" (assignment_expression "sVar11 = FUN_0007f360()" identifier = (call_expression "FUN_0007f360()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar17 = local_44;" (assignment_expression "uVar17 = local_44" identifier = identifier) ;) (if_statement "if (local_44 != sVar11) goto LAB_0014e743;" if (parenthesized_expression "(local_44 != sVar11)" ( (binary_expression "local_44 != sVar11" identifier != identifier) )) (goto_statement "goto LAB_0014e743;" goto statement_identifier ;)) (if_statement "if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }" { (expression_statement "uVar8 = FUN_0004c5d0();" (assignment_expression "uVar8 = FUN_0004c5d0()" identifier = (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s2 = (void *)FUN_0007f710(uVar8);" (assignment_expression "__s2 = (void *)FUN_0007f710(uVar8)" identifier = (cast_expression "(void *)FUN_0007f710(uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0007f710(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);" (assignment_expression "iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17)" identifier = (call_expression "memcmp(local_c4 + iVar6,__s2,uVar17)" identifier (argument_list "(local_c4 + iVar6,__s2,uVar17)" ( (binary_expression "local_c4 + iVar6" identifier + identifier) , identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_0014e743;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e743;" goto statement_identifier ;)) })) (if_statement "if (iVar10 != 0) goto LAB_0014e9cb;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e9cb;" goto statement_identifier ;)) (if_statement "if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" if (parenthesized_expression "(pcVar20[local_dc] == '\0')" ( (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }" { (labeled_statement "LAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();" statement_identifier : (expression_statement "iVar6 = FUN_000a19a0();" (assignment_expression "iVar6 = FUN_000a19a0()" identifier = (call_expression "FUN_000a19a0()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }" { (expression_statement "*(undefined1 *)(local_38 + local_34) = 0;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = 0" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) })) }) (else_clause "else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" else (if_statement "if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" if (parenthesized_expression "((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        )" ( (binary_expression "(0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)" (parenthesized_expression "(0 < (int)local_cc)" ( (binary_expression "0 < (int)local_cc" number_literal < (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(local_70 = local_48, local_48 == 0)" ( (comma_expression "local_70 = local_48, local_48 == 0" (assignment_expression "local_70 = local_48" identifier = identifier) , (binary_expression "local_48 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;)))) }) (else_clause "else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" else (compound_statement "{\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" { (labeled_statement "LAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" statement_identifier : (if_statement "if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" if (parenthesized_expression "((iVar10 != 0) || ((int)local_cc < 1))" ( (binary_expression "(iVar10 != 0) || ((int)local_cc < 1)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "((int)local_cc < 1)" ( (binary_expression "(int)local_cc < 1" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (compound_statement "{\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) }))) (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) })) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" statement_identifier : (if_statement "if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" if (parenthesized_expression "((int)(local_30 - local_34) < (int)uVar14)" ( (binary_expression "(int)(local_30 - local_34) < (int)uVar14" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }" { (expression_statement "uVar17 = local_30;" (assignment_expression "uVar17 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                                    uVar17 = 0x80;\n                                  }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar19 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar19 = (int)uVar17 >> 0x1f" identifier = (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);" do (compound_statement "{\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  }" { (expression_statement "uVar19 = uVar19 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | uVar17 >> 0x1f" identifier = (binary_expression "uVar19 << 1 | uVar17 >> 0x1f" (binary_expression "uVar19 << 1" identifier << number_literal) | (binary_expression "uVar17 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" identifier = (binary_expression "uVar17 * 2" identifier * number_literal)) ;) (expression_statement "iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);" (assignment_expression "iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34)" identifier = (binary_expression "(uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34)" (parenthesized_expression "(uVar19 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar19 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar17 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < local_34)" ( (binary_expression "uVar17 < local_34" identifier < identifier) ))))) ;) (expression_statement "uVar3 = (uint)(uVar17 - local_34 < uVar14);" (assignment_expression "uVar3 = (uint)(uVar17 - local_34 < uVar14)" identifier = (call_expression "(uint)(uVar17 - local_34 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 - local_34 < uVar14)" ( (binary_expression "uVar17 - local_34 < uVar14" (binary_expression "uVar17 - local_34" identifier - identifier) < identifier) )))) ;) (expression_statement "iVar6 = iVar16 - ((int)uVar14 >> 0x1f);" (assignment_expression "iVar6 = iVar16 - ((int)uVar14 >> 0x1f)" identifier = (binary_expression "iVar16 - ((int)uVar14 >> 0x1f)" identifier - (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) while (parenthesized_expression "((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0)" ( (binary_expression "(SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0" (parenthesized_expression "(SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3))" ( (binary_expression "SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)" (call_expression "SBORROW4(iVar16,(int)uVar14 >> 0x1f)" identifier (argument_list "(iVar16,(int)uVar14 >> 0x1f)" ( identifier , (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) != (call_expression "SBORROW4(iVar6,uVar3)" identifier (argument_list "(iVar6,uVar3)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar6 - uVar3) < 0" (cast_expression "(int)(iVar6 - uVar3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - uVar3)" ( (binary_expression "iVar6 - uVar3" identifier - identifier) ))) < number_literal)) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }" { (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" identifier = identifier) ;) (expression_statement "local_30 = uVar17;" (assignment_expression "local_30 = uVar17" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014eb76;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014eb76;" goto statement_identifier ;)) }) (else_clause "else {\n                                    local_48 = 7;\n                                  }" else (compound_statement "{\n                                    local_48 = 7;\n                                  }" { (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" identifier = number_literal) ;) }))) (if_statement "if (local_70 != 0) goto LAB_0014e590;" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" else (compound_statement "{\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" { (labeled_statement "LAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);" statement_identifier : (expression_statement "memcpy((void *)(local_34 + local_38),local_c4,local_cc);" (call_expression "memcpy((void *)(local_34 + local_38),local_c4,local_cc)" identifier (argument_list "((void *)(local_34 + local_38),local_c4,local_cc)" ( (cast_expression "(void *)(local_34 + local_38)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + local_38)" ( (binary_expression "local_34 + local_38" identifier + identifier) ))) , identifier , identifier ))) ;)) (expression_statement "local_34 = local_34 + uVar14;" (assignment_expression "local_34 = local_34 + uVar14" identifier = (binary_expression "local_34 + uVar14" identifier + identifier)) ;) (if_statement "if (local_70 != 0) goto LAB_0014e560;" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" statement_identifier : (if_statement "if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" { (if_statement "if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" if (parenthesized_expression "(local_24 == local_28 || (int)(local_24 - local_28) < 0)" ( (binary_expression "local_24 == local_28 || (int)(local_24 - local_28) < 0" (binary_expression "local_24 == local_28" identifier == identifier) || (binary_expression "(int)(local_24 - local_28) < 0" (cast_expression "(int)(local_24 - local_28)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_24 - local_28)" ( (binary_expression "local_24 - local_28" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }" { (expression_statement "uVar14 = local_24;" (assignment_expression "uVar14 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }" if (parenthesized_expression "(local_24 == 0)" ( (binary_expression "local_24 == 0" identifier == number_literal) )) (compound_statement "{\n                                    uVar14 = 0x80;\n                                  }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar14 >> 0x1f" identifier = (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));" do (compound_statement "{\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  }" { (expression_statement "uVar17 = uVar17 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar14 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar14 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" identifier = (binary_expression "uVar14 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)))" ( (binary_expression "(int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" (cast_expression "(int)(uint)(uVar14 - local_28 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar14 - local_28 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 - local_28 != 0)" ( (binary_expression "uVar14 - local_28 != 0" (binary_expression "uVar14 - local_28" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" - (parenthesized_expression "((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" ( (binary_expression "(uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)" (parenthesized_expression "(uVar17 - ((int)local_28 >> 0x1f))" ( (binary_expression "uVar17 - ((int)local_28 >> 0x1f)" identifier - (parenthesized_expression "((int)local_28 >> 0x1f)" ( (binary_expression "(int)local_28 >> 0x1f" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar14 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_28)" ( (binary_expression "uVar14 < local_28" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }" if (parenthesized_expression "((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0))" ( (binary_expression "(iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar17 = FUN_00055930(), uVar17 != 0)" ( (comma_expression "uVar17 = FUN_00055930(), uVar17 != 0" (assignment_expression "uVar17 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "uVar17 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }" { (expression_statement "local_2c = uVar17;" (assignment_expression "local_2c = uVar17" identifier = identifier) ;) (expression_statement "local_24 = uVar14;" (assignment_expression "local_24 = uVar14" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014e9b4;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014e9b4;" goto statement_identifier ;)) }) (else_clause "else {\n                                    local_48 = 7;\n                                  }" else (compound_statement "{\n                                    local_48 = 7;\n                                  }" { (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" else (compound_statement "{\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" { (labeled_statement "LAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(local_2c + local_28) = 0;" (assignment_expression "*(undefined1 *)(local_2c + local_28) = 0" (pointer_expression "*(undefined1 *)(local_2c + local_28)" * (cast_expression "(undefined1 *)(local_2c + local_28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + local_28)" ( (binary_expression "local_2c + local_28" identifier + identifier) )))) = number_literal) ;)) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" else (compound_statement "{\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" { (if_statement "if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }" if (parenthesized_expression "(2 < bVar1)" ( (binary_expression "2 < bVar1" number_literal < identifier) )) (compound_statement "{\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }" { (if_statement "if (bVar1 != 5) goto LAB_0014e690;" if (parenthesized_expression "(bVar1 != 5)" ( (binary_expression "bVar1 != 5" identifier != number_literal) )) (goto_statement "goto LAB_0014e690;" goto statement_identifier ;)) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" if (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" ( (binary_expression "(piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" ( (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" ( (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) )))) <= (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }" { (expression_statement "*(undefined4 *)(iVar6 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar6 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar6 + 0x3c)" * (cast_expression "(undefined4 *)(iVar6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "cVar12 = '\x05';" (assignment_expression "cVar12 = '\x05'" identifier = (char_literal "'\x05'" ' escape_sequence ')) ;) }) (else_clause "else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" else (compound_statement "{\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" { (expression_statement "cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));" (assignment_expression "cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" identifier = (pointer_expression "*(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" * (cast_expression "(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f)" ( (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" * (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_dc * 0x28" identifier * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" if (parenthesized_expression "((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" ( (binary_expression "(*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar6 + 0x4d) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x4d)" * (cast_expression "(char *)(iVar6 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x4d)" ( (binary_expression "iVar6 + 0x4d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar4[10] != 0xc0a)" ( (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }" { (expression_statement "uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);" (assignment_expression "uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40)" identifier = (binary_expression "piVar4[10] & *(uint *)(iVar6 + 0x40)" (subscript_expression "piVar4[10]" identifier [ number_literal ]) & (pointer_expression "*(uint *)(iVar6 + 0x40)" * (cast_expression "(uint *)(iVar6 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x40)" ( (binary_expression "iVar6 + 0x40" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" else (compound_statement "{\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" { (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" identifier = (call_expression "FUN_0004c680()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) })) (if_statement "if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }" if (parenthesized_expression "(cVar12 == '\x05')" ( (binary_expression "cVar12 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }" { (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (if_statement "if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e8bd;" goto statement_identifier ;) })) (labeled_statement "LAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;" statement_identifier : (if_statement "if (pcVar20[local_dc] == '\0') goto LAB_0014e900;" if (parenthesized_expression "(pcVar20[local_dc] == '\0')" ( (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0014e900;" goto statement_identifier ;))) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) })) (if_statement "if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) })) (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) })) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;) })) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" if (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" ( (binary_expression "(piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" ( (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" ( (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) )))) <= (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }" { (expression_statement "*(undefined4 *)(iVar6 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar6 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar6 + 0x3c)" * (cast_expression "(undefined4 *)(iVar6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar13 = 5;" (assignment_expression "bVar13 = 5" identifier = number_literal) ;) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }) (else_clause "else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" else (compound_statement "{\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" { (expression_statement "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));" (assignment_expression "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" identifier = (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" * (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" ( (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" * (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_dc * 0x28" identifier * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" if (parenthesized_expression "((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" ( (binary_expression "(*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar6 + 0x4d) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x4d)" * (cast_expression "(char *)(iVar6 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x4d)" ( (binary_expression "iVar6 + 0x4d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar4[10] != 0xc0a)" ( (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }" { (expression_statement "uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];" (assignment_expression "uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10]" identifier = (binary_expression "*(uint *)(iVar6 + 0x40) & piVar4[10]" (pointer_expression "*(uint *)(iVar6 + 0x40)" * (cast_expression "(uint *)(iVar6 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x40)" ( (binary_expression "iVar6 + 0x40" identifier + number_literal) )))) & (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" else (compound_statement "{\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" { (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" identifier = (call_expression "FUN_0004c680()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) })) (if_statement "if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" if (parenthesized_expression "(bVar1 == bVar13)" ( (binary_expression "bVar1 == bVar13" identifier == identifier) )) (compound_statement "{\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }" { (expression_statement "uVar14 = *(uint *)(local_c4 + 1);" (assignment_expression "uVar14 = *(uint *)(local_c4 + 1)" identifier = (pointer_expression "*(uint *)(local_c4 + 1)" * (cast_expression "(uint *)(local_c4 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c4 + 1)" ( (binary_expression "local_c4 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *(uint *)(local_c4 + 5);" (assignment_expression "uVar17 = *(uint *)(local_c4 + 5)" identifier = (pointer_expression "*(uint *)(local_c4 + 5)" * (cast_expression "(uint *)(local_c4 + 5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c4 + 5)" ( (binary_expression "local_c4 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;" (assignment_expression "uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18" identifier = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18" identifier = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }" if (parenthesized_expression "(bVar1 == 1)" ( (binary_expression "bVar1 == 1" identifier == number_literal) )) (compound_statement "{\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }" { (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar24 = FUN_00045540();" (assignment_expression "lVar24 = FUN_00045540()" identifier = (call_expression "FUN_00045540()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;" if (parenthesized_expression "(lVar24 == CONCAT44(uVar14,uVar17))" ( (binary_expression "lVar24 == CONCAT44(uVar14,uVar17)" identifier == (call_expression "CONCAT44(uVar14,uVar17)" identifier (argument_list "(uVar14,uVar17)" ( identifier , identifier )))) )) (goto_statement "goto LAB_0014e89a;" goto statement_identifier ;)) (goto_statement "goto LAB_0014e65d;" goto statement_identifier ;) })) (expression_statement "local_44 = uVar17;" (assignment_expression "local_44 = uVar17" identifier = identifier) ;) (expression_statement "local_40 = uVar14;" (assignment_expression "local_40 = uVar14" identifier = identifier) ;) (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar22 = (longdouble)FUN_000455a0();" (assignment_expression "lVar22 = (longdouble)FUN_000455a0()" identifier = (cast_expression "(longdouble)FUN_000455a0()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000455a0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;" if (parenthesized_expression "((double)lVar22 != (double)CONCAT44(uVar14,uVar17))" ( (binary_expression "(double)lVar22 != (double)CONCAT44(uVar14,uVar17)" (cast_expression "(double)lVar22" ( (type_descriptor "double" primitive_type) ) identifier) != (cast_expression "(double)CONCAT44(uVar14,uVar17)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar14,uVar17)" identifier (argument_list "(uVar14,uVar17)" ( identifier , identifier ))))) )) (goto_statement "goto LAB_0014e65d;" goto statement_identifier ;)) (labeled_statement "LAB_0014e89a:\n                                local_cc = 9;" statement_identifier : (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;)) (if_statement "if (iVar10 != 0) goto LAB_0014e9cb;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e9cb;" goto statement_identifier ;)) (expression_statement "uVar14 = 9;" (assignment_expression "uVar14 = 9" identifier = number_literal) ;) (labeled_statement "LAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;" statement_identifier : (if_statement "if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;" if (parenthesized_expression "(pcVar20[local_dc] == '\0')" ( (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0014e8c6;" goto statement_identifier ;))) (expression_statement "local_70 = local_48;" (assignment_expression "local_70 = local_48" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014eaca;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" else (compound_statement "{\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" { (labeled_statement "LAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" statement_identifier : (if_statement "if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" { (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" identifier = identifier) ;) (if_statement "if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }" { (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "uVar14 = 9;" (assignment_expression "uVar14 = 9" identifier = number_literal) ;) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;) })) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) }))) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (labeled_statement "LAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }" statement_identifier : (if_statement "if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                                  FUN_000a1c40(&local_48);\n                                }" { (expression_statement "FUN_000a1c40(&local_48);" (call_expression "FUN_000a1c40(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) }))) }))) }))) (labeled_statement "LAB_0014e590:\n                            local_dc = local_dc + 1;" statement_identifier : (expression_statement "local_dc = local_dc + 1;" (assignment_expression "local_dc = local_dc + 1" identifier = (binary_expression "local_dc + 1" identifier + number_literal)) ;)) (expression_statement "local_c4 = local_c4 + local_cc;" (assignment_expression "local_c4 = local_c4 + local_cc" identifier = (binary_expression "local_c4 + local_cc" identifier + identifier)) ;) }) while (parenthesized_expression "((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22))" ( (binary_expression "(int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) ))))) )) ;) (if_statement "if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }" { (expression_statement "FUN_000a1a70(&local_48);" (call_expression "FUN_000a1a70(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" identifier = identifier) ;) })) }))) (expression_statement "local_34 = uVar9;" (assignment_expression "local_34 = uVar9" identifier = identifier) ;) (expression_statement "FUN_00044000(local_2c);" (call_expression "FUN_00044000(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;) (expression_statement "local_5c = local_48;" (assignment_expression "local_5c = local_48" identifier = identifier) ;) }))) }) (else_clause "else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" else (if_statement "if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" if (parenthesized_expression "(*local_b4 != 0x12)" ( (binary_expression "*local_b4 != 0x12" (pointer_expression "*local_b4" * identifier) != number_literal) )) (compound_statement "{\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" if (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" ( (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" identifier == identifier) || (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }" { (expression_statement "uVar14 = local_30;" (assignment_expression "uVar14 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar14 = 0x80;\n                        }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar9 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar14 >> 0x1f" identifier = (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));" do (compound_statement "{\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        }" { (expression_statement "uVar9 = uVar9 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar9 = uVar9 << 1 | uVar14 >> 0x1f" identifier = (binary_expression "uVar9 << 1 | uVar14 >> 0x1f" (binary_expression "uVar9 << 1" identifier << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" identifier = (binary_expression "uVar14 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)))" ( (binary_expression "(int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" (cast_expression "(int)(uint)(uVar14 - local_34 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar14 - local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 - local_34 != 0)" ( (binary_expression "uVar14 - local_34 != 0" (binary_expression "uVar14 - local_34" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" - (parenthesized_expression "((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" ( (binary_expression "(uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)" (parenthesized_expression "(uVar9 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar9 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar14 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_34)" ( (binary_expression "uVar14 < local_34" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }" { (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" identifier = identifier) ;) (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" identifier = identifier) ;) (expression_statement "local_30 = uVar14;" (assignment_expression "local_30 = uVar14" identifier = identifier) ;) (if_statement "if (local_44 == 0) goto LAB_0014e098;" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014e098;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" else (compound_statement "{\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" { (labeled_statement "LAB_0014ecf9:\n                          local_44 = 7;" statement_identifier : (expression_statement "local_44 = 7;" (assignment_expression "local_44 = 7" identifier = number_literal) ;)) }))) }) (else_clause "else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" else (compound_statement "{\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" { (labeled_statement "LAB_0014e098:\n                        local_34 = uVar9 + 1;" statement_identifier : (expression_statement "local_34 = uVar9 + 1;" (assignment_expression "local_34 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined1 *)(local_38 + uVar9) = 9;" (assignment_expression "*(undefined1 *)(local_38 + uVar9) = 9" (pointer_expression "*(undefined1 *)(local_38 + uVar9)" * (cast_expression "(undefined1 *)(local_38 + uVar9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + uVar9)" ( (binary_expression "local_38 + uVar9" identifier + identifier) )))) = number_literal) ;) (expression_statement "iVar6 = local_b4[1];" (assignment_expression "iVar6 = local_b4[1]" identifier = (subscript_expression "local_b4[1]" identifier [ number_literal ])) ;) (if_statement "if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }" { (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }" if (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" ( (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" identifier == identifier) || (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }" { (expression_statement "uVar9 = local_30;" (assignment_expression "uVar9 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                              uVar9 = 0x80;\n                            }" { (expression_statement "uVar9 = 0x80;" (assignment_expression "uVar9 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar14 = (int)uVar9 >> 0x1f;" (assignment_expression "uVar14 = (int)uVar9 >> 0x1f" identifier = (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));" do (compound_statement "{\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            }" { (expression_statement "uVar14 = uVar14 << 1 | uVar9 >> 0x1f;" (assignment_expression "uVar14 = uVar14 << 1 | uVar9 >> 0x1f" identifier = (binary_expression "uVar14 << 1 | uVar9 >> 0x1f" (binary_expression "uVar14 << 1" identifier << number_literal) | (binary_expression "uVar9 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar9 = uVar9 * 2;" (assignment_expression "uVar9 = uVar9 * 2" identifier = (binary_expression "uVar9 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)))" ( (binary_expression "(int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" (cast_expression "(int)(uint)(uVar9 - local_34 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar9 - local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 - local_34 != 0)" ( (binary_expression "uVar9 - local_34 != 0" (binary_expression "uVar9 - local_34" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" - (parenthesized_expression "((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" ( (binary_expression "(uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)" (parenthesized_expression "(uVar14 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar14 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar9 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_34)" ( (binary_expression "uVar9 < local_34" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar16 = FUN_00067fc0();" (assignment_expression "iVar16 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;" if (parenthesized_expression "((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))" ( (binary_expression "(iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar16 = FUN_00055930(), iVar16 == 0)" ( (comma_expression "iVar16 = FUN_00055930(), iVar16 == 0" (assignment_expression "iVar16 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014ecf9;" goto statement_identifier ;)) (expression_statement "local_38 = iVar16;" (assignment_expression "local_38 = iVar16" identifier = identifier) ;) (expression_statement "local_30 = uVar9;" (assignment_expression "local_30 = uVar9" identifier = identifier) ;) (if_statement "if (local_44 != 0) goto LAB_0014e17a;" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e17a;" goto statement_identifier ;)) })) (expression_statement "local_94._0_1_ = (undefined1)iVar6;" (assignment_expression "local_94._0_1_ = (undefined1)iVar6" (field_expression "local_94._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)(local_38 + local_34) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "LAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];" statement_identifier : (expression_statement "pbVar15 = (byte *)local_b4[3];" (assignment_expression "pbVar15 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;)) (if_statement "if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }" { (expression_statement "sVar11 = local_b4[2];" (assignment_expression "sVar11 = local_b4[2]" identifier = (subscript_expression "local_b4[2]" identifier [ number_literal ])) ;) (if_statement "if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }" if (parenthesized_expression "((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0))" ( (binary_expression "(0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)" (parenthesized_expression "(0 < (int)sVar11)" ( (binary_expression "0 < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar6 = FUN_000a19a0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_000a19a0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_000a19a0()" identifier = (call_expression "FUN_000a19a0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }" { (expression_statement "memcpy((void *)(local_34 + local_38),pbVar15,sVar11);" (call_expression "memcpy((void *)(local_34 + local_38),pbVar15,sVar11)" identifier (argument_list "((void *)(local_34 + local_38),pbVar15,sVar11)" ( (cast_expression "(void *)(local_34 + local_38)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + local_38)" ( (binary_expression "local_34 + local_38" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_34 = local_34 + sVar11;" (assignment_expression "local_34 = local_34 + sVar11" identifier = (binary_expression "local_34 + sVar11" identifier + identifier)) ;) })) }) (else_clause "else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" else (if_statement "if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" if (parenthesized_expression "(0 < (int)sVar11)" ( (binary_expression "0 < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" { (expression_statement "pcVar7 = pcVar20 + sVar11;" (assignment_expression "pcVar7 = pcVar20 + sVar11" identifier = (binary_expression "pcVar20 + sVar11" identifier + identifier)) ;) (do_statement "do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);" do (compound_statement "{\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        }" { (expression_statement "bVar1 = *pbVar15;" (assignment_expression "bVar1 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (expression_statement "pbVar18 = pbVar15 + 1;" (assignment_expression "pbVar18 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" if (parenthesized_expression "(bVar1 < 3)" ( (binary_expression "bVar1 < 3" identifier < number_literal) )) (compound_statement "{\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }" { (if_statement "if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n                              pbVar18 = pbVar15 + 9;\n                            }" { (expression_statement "pbVar18 = pbVar15 + 9;" (assignment_expression "pbVar18 = pbVar15 + 9" identifier = (binary_expression "pbVar15 + 9" identifier + number_literal)) ;) })) (labeled_statement "LAB_0014e1b0:\n                            cVar12 = *pcVar20;" statement_identifier : (expression_statement "cVar12 = *pcVar20;" (assignment_expression "cVar12 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;)) }) (else_clause "else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" else (compound_statement "{\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" { (if_statement "if (bVar1 == 5) goto LAB_0014e1b0;" if (parenthesized_expression "(bVar1 == 5)" ( (binary_expression "bVar1 == 5" identifier == number_literal) )) (goto_statement "goto LAB_0014e1b0;" goto statement_identifier ;)) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (expression_statement "uVar9 = (uint)pbVar15[1];" (assignment_expression "uVar9 = (uint)pbVar15[1]" identifier = (cast_expression "(uint)pbVar15[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }" if (parenthesized_expression "((char)pbVar15[1] < '\0')" ( (binary_expression "(char)pbVar15[1] < '\0'" (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }" { (expression_statement "uVar14 = FUN_00044cf0();" (assignment_expression "uVar14 = FUN_00044cf0()" identifier = (call_expression "FUN_00044cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar9 = local_2c;" (assignment_expression "uVar9 = local_2c" identifier = identifier) ;) })) (expression_statement "pbVar18 = pbVar18 + uVar9 + uVar14;" (assignment_expression "pbVar18 = pbVar18 + uVar9 + uVar14" identifier = (binary_expression "pbVar18 + uVar9 + uVar14" (binary_expression "pbVar18 + uVar9" identifier + identifier) + identifier)) ;) (expression_statement "cVar12 = *pcVar20;" (assignment_expression "cVar12 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) }))) (if_statement "if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }" if (parenthesized_expression "(((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0))" ( (binary_expression "((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)" (parenthesized_expression "((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11))" ( (binary_expression "(cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)" (parenthesized_expression "(cVar12 != '\0')" ( (binary_expression "cVar12 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)" ( (comma_expression "sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11" (assignment_expression "sVar11 = (int)pbVar18 - (int)pbVar15" identifier = (binary_expression "(int)pbVar18 - (int)pbVar15" (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "0 < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) && (parenthesized_expression "(iVar6 = FUN_000a19a0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_000a19a0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_000a19a0()" identifier = (call_expression "FUN_000a19a0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }" { (expression_statement "memcpy((void *)(local_34 + local_38),pbVar15,sVar11);" (call_expression "memcpy((void *)(local_34 + local_38),pbVar15,sVar11)" identifier (argument_list "((void *)(local_34 + local_38),pbVar15,sVar11)" ( (cast_expression "(void *)(local_34 + local_38)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + local_38)" ( (binary_expression "local_34 + local_38" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_34 = local_34 + sVar11;" (assignment_expression "local_34 = local_34 + sVar11" identifier = (binary_expression "local_34 + sVar11" identifier + identifier)) ;) })) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "pbVar15 = pbVar18;" (assignment_expression "pbVar15 = pbVar18" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar20 != pcVar7)" ( (binary_expression "pcVar20 != pcVar7" identifier != identifier) )) ;) })))) (expression_statement "local_5c = local_44;" (assignment_expression "local_5c = local_44" identifier = identifier) ;) })))) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_5c != 0) goto LAB_0014d9b9;" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (expression_statement "local_5c = FUN_000bfe40(local_4c);" (assignment_expression "local_5c = FUN_000bfe40(local_4c)" identifier = (call_expression "FUN_000bfe40(local_4c)" identifier (argument_list "(local_4c)" ( identifier )))) ;) (if_statement "if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      bVar21 = local_5c == 0;\n                    }" { (expression_statement "bVar21 = local_5c == 0;" (assignment_expression "bVar21 = local_5c == 0" identifier = (binary_expression "local_5c == 0" identifier == number_literal)) ;) }) (else_clause "else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" else (compound_statement "{\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" { (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_5c != 0) goto LAB_0014d9b9;" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (if_statement "if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }" if (parenthesized_expression "(((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34))" ( (binary_expression "((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)" (parenthesized_expression "((int)local_74 < (int)local_34)" ( (binary_expression "(int)local_74 < (int)local_34" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)" ( (binary_expression "*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34" (pointer_expression "*(int *)(&DAT_0006dc5d + unaff_EDI)" * (cast_expression "(int *)(&DAT_0006dc5d + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0006dc5d + unaff_EDI)" ( (binary_expression "&DAT_0006dc5d + unaff_EDI" (pointer_expression "&DAT_0006dc5d" & identifier) + identifier) )))) < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }" { (expression_statement "local_5c = (*extraout_ECX)(param_1,local_38,local_34);" (assignment_expression "local_5c = (*extraout_ECX)(param_1,local_38,local_34)" identifier = (call_expression "(*extraout_ECX)(param_1,local_38,local_34)" (parenthesized_expression "(*extraout_ECX)" ( (pointer_expression "*extraout_ECX" * identifier) )) (argument_list "(param_1,local_38,local_34)" ( identifier , identifier , identifier )))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "bVar21 = local_5c == 0;" (assignment_expression "bVar21 = local_5c == 0" identifier = (binary_expression "local_5c == 0" identifier == number_literal)) ;) (expression_statement "local_74 = 0xffffffff;" (assignment_expression "local_74 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n                        bVar21 = true;\n                      }" else (compound_statement "{\n                        bVar21 = true;\n                      }" { (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) }))) }))) }) (else_clause "else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" else (compound_statement "{\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));" do (compound_statement "{\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    }" { (expression_statement "iVar16 = iVar6 + 1;" (assignment_expression "iVar16 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar15 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }" if (parenthesized_expression "(*pbVar15 < 6)" ( (binary_expression "*pbVar15 < 6" (pointer_expression "*pbVar15" * identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }" { comment comment (expression_statement "uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();" (assignment_expression "uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))" ( (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" * (cast_expression "(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" ( (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1" (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" * (cast_expression "(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" ( (binary_expression "unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4" (binary_expression "unaff_EDI + 0x146f1" identifier + number_literal) + (binary_expression "(uint)*pbVar15 * 4" (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar5;" return identifier ;) })) (expression_statement "uVar9 = (uint)pbVar15[1];" (assignment_expression "uVar9 = (uint)pbVar15[1]" identifier = (cast_expression "(uint)pbVar15[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }" if (parenthesized_expression "((char)pbVar15[1] < '\0')" ( (binary_expression "(char)pbVar15[1] < '\0'" (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }" { (expression_statement "bVar1 = pbVar15[2];" (assignment_expression "bVar1 = pbVar15[2]" identifier = (subscript_expression "pbVar15[2]" identifier [ number_literal ])) ;) (if_statement "if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }" { (if_statement "if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" if (parenthesized_expression "((pbVar15[3] & 0x80) == 0)" ( (binary_expression "(pbVar15[3] & 0x80) == 0" (parenthesized_expression "(pbVar15[3] & 0x80)" ( (binary_expression "pbVar15[3] & 0x80" (subscript_expression "pbVar15[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }" { (expression_statement "uVar14 = 3;" (assignment_expression "uVar14 = 3" identifier = number_literal) ;) (expression_statement "uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;" (assignment_expression "uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7" identifier = (binary_expression "(uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7" (binary_expression "(uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f" (parenthesized_expression "(uVar9 << 0xe | (uint)pbVar15[3])" ( (binary_expression "uVar9 << 0xe | (uint)pbVar15[3]" (binary_expression "uVar9 << 0xe" identifier << number_literal) | (cast_expression "(uint)pbVar15[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[3]" identifier [ number_literal ]))) )) & number_literal) | (binary_expression "(bVar1 & 0x7f) << 7" (parenthesized_expression "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )) << number_literal))) ;) }) (else_clause "else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" else (compound_statement "{\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" { (expression_statement "uVar14 = FUN_0003b460();" (assignment_expression "uVar14 = FUN_0003b460()" identifier = (call_expression "FUN_0003b460()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n                              uVar9 = local_2c;\n                            }" { (expression_statement "uVar9 = local_2c;" (assignment_expression "uVar9 = local_2c" identifier = identifier) ;) })) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) }))) }) (else_clause "else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" else (compound_statement "{\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" { (expression_statement "uVar14 = 2;" (assignment_expression "uVar14 = 2" identifier = number_literal) ;) (expression_statement "uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;" (assignment_expression "uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1" identifier = (binary_expression "(uVar9 & 0x7f) << 7 | (uint)bVar1" (binary_expression "(uVar9 & 0x7f) << 7" (parenthesized_expression "(uVar9 & 0x7f)" ( (binary_expression "uVar9 & 0x7f" identifier & number_literal) )) << number_literal) | (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) }) (else_clause "else {\n                        uVar14 = 1;\n                      }" else (compound_statement "{\n                        uVar14 = 1;\n                      }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) }))) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (if_statement "if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }" if (parenthesized_expression "(pcVar20[iVar6] != '\0')" ( (binary_expression "pcVar20[iVar6] != '\0'" (subscript_expression "pcVar20[iVar6]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }" { (expression_statement "local_dc = FUN_00079820();" (assignment_expression "local_dc = FUN_00079820()" identifier = (call_expression "FUN_00079820()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (if_statement "if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }" if (parenthesized_expression "(local_dc == 0)" ( (binary_expression "local_dc == 0" identifier == number_literal) )) (compound_statement "{\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }" { (expression_statement "local_dc = FUN_00071970(uVar9,0xffffffff,0);" (assignment_expression "local_dc = FUN_00071970(uVar9,0xffffffff,0)" identifier = (call_expression "FUN_00071970(uVar9,0xffffffff,0)" identifier (argument_list "(uVar9,0xffffffff,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "bVar21 = local_dc == 0;" (assignment_expression "bVar21 = local_dc == 0" identifier = (binary_expression "local_dc == 0" identifier == number_literal)) ;) })) })) (expression_statement "pbVar15 = pbVar15 + uVar9 + uVar14 + 1;" (assignment_expression "pbVar15 = pbVar15 + uVar9 + uVar14 + 1" identifier = (binary_expression "pbVar15 + uVar9 + uVar14 + 1" (binary_expression "pbVar15 + uVar9 + uVar14" (binary_expression "pbVar15 + uVar9" identifier + identifier) + identifier) + number_literal)) ;) (expression_statement "iVar6 = iVar16;" (assignment_expression "iVar6 = iVar16" identifier = identifier) ;) }) while (parenthesized_expression "((bool)(iVar16 < (int)sVar11 & bVar21))" ( (cast_expression "(bool)(iVar16 < (int)sVar11 & bVar21)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(iVar16 < (int)sVar11 & bVar21)" ( (binary_expression "iVar16 < (int)sVar11 & bVar21" (binary_expression "iVar16 < (int)sVar11" identifier < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) & identifier) ))) )) ;) (expression_statement "local_5c = local_dc;" (assignment_expression "local_5c = local_dc" identifier = identifier) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_dc == 0) goto LAB_0014ddea;" if (parenthesized_expression "(local_dc == 0)" ( (binary_expression "local_dc == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014ddea;" goto statement_identifier ;)) }))) (expression_statement "local_b4 = (int *)local_b4[4];" (assignment_expression "local_b4 = (int *)local_b4[4]" identifier = (cast_expression "(int *)local_b4[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[4]" identifier [ number_literal ]))) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) }) while (parenthesized_expression "((local_b4 != (int *)0x0) && (bVar21))" ( (binary_expression "(local_b4 != (int *)0x0) && (bVar21)" (parenthesized_expression "(local_b4 != (int *)0x0)" ( (binary_expression "local_b4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar21)" ( identifier ))) )) ;) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = local_c0[7];" (assignment_expression "iVar6 = local_c0[7]" identifier = (subscript_expression "local_c0[7]" identifier [ number_literal ])) ;) (if_statement "if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;" if (parenthesized_expression "((iVar6 <= local_88) || (local_5c != 0))" ( (binary_expression "(iVar6 <= local_88) || (local_5c != 0)" (parenthesized_expression "(iVar6 <= local_88)" ( (binary_expression "iVar6 <= local_88" identifier <= identifier) )) || (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (expression_statement "iVar16 = local_c0[8];" (assignment_expression "iVar16 = local_c0[8]" identifier = (subscript_expression "local_c0[8]" identifier [ number_literal ])) ;) })) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_88 < iVar6)" ( (binary_expression "local_88 < iVar6" identifier < identifier) )) ;) })) }) (else_clause "else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" else (compound_statement "{\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" { (expression_statement "local_74 = local_34;" (assignment_expression "local_74 = local_34" identifier = identifier) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) }))) (labeled_statement "LAB_0014d9b9:\n        FUN_000c0450(piVar4);" statement_identifier : (expression_statement "FUN_000c0450(piVar4);" (call_expression "FUN_000c0450(piVar4)" identifier (argument_list "(piVar4)" ( identifier ))) ;)) (if_statement "if (local_34 == local_74) {\n          local_34 = uVar5;\n        }" if (parenthesized_expression "(local_34 == local_74)" ( (binary_expression "local_34 == local_74" identifier == identifier) )) (compound_statement "{\n          local_34 = uVar5;\n        }" { (expression_statement "local_34 = uVar5;" (assignment_expression "local_34 = uVar5" identifier = identifier) ;) })) (expression_statement "FUN_00044000(local_50);" (call_expression "FUN_00044000(local_50)" identifier (argument_list "(local_50)" ( identifier ))) ;) })) })) (if_statement "if (local_5c == 0) goto LAB_0014da0a;" if (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014da0a;" goto statement_identifier ;)) }))) (expression_statement "FUN_00044000(local_38);" (call_expression "FUN_00044000(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);" (call_expression "FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0)" identifier (argument_list "(iVar2,unaff_EDI + 0x115b3,0,0,0)" ( identifier , (binary_expression "unaff_EDI + 0x115b3" identifier + number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "uVar5 = local_5c;" (assignment_expression "uVar5 = local_5c" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xc) != 0" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar2 + 0xc))" ( (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar5 = local_5c;" (assignment_expression "uVar5 = local_5c" identifier = identifier) ;) })) (labeled_statement "LAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00153870();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    FUN_00153870();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_00153870();\n  }" { comment (expression_statement "FUN_00153870();" (call_expression "FUN_00153870()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit "int sessionGenerateChangeset\n              (sqlite3_session *pSession,int bPatchset,_func_int_void_ptr_void_ptr_int *xOutput,\n              void *pOut,int *pnChangeset,void **ppChangeset)\n\n{\n  u8 uVar1;\n  sqlite3 *db;\n  size_t __n;\n  uint uVar2;\n  Vdbe *pVVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  u8 *puVar9;\n  int iVar10;\n  sqlite3_stmt *psVar11;\n  sqlite3 *psVar12;\n  char **ppcVar13;\n  Mem *pMVar14;\n  int iVar15;\n  code *extraout_ECX;\n  sqlite3_stmt *psVar16;\n  u8 enc;\n  char *zSql;\n  uint uVar17;\n  char cVar18;\n  uint uVar19;\n  byte *pbVar20;\n  u8 *puVar21;\n  int iVar22;\n  char **p;\n  int unaff_EDI;\n  uint uVar23;\n  u8 *puVar24;\n  int in_GS_OFFSET;\n  bool bVar25;\n  undefined8 uVar26;\n  i64 iVar27;\n  double dVar28;\n  void *pvVar29;\n  char **pRc;\n  SessionTable *pTab;\n  u8 **pabPK;\n  int iVar30;\n  sqlite3_stmt *in_stack_ffffff24;\n  u8 *in_stack_ffffff28;\n  sqlite3_stmt **in_stack_ffffff2c;\n  uint local_cc;\n  char **local_c4;\n  int *local_c0;\n  int *local_b4;\n  int local_94;\n  int local_88;\n  int local_74;\n  int local_70;\n  int rc;\n  int nCol;\n  u8 *abPK;\n  char **azCol;\n  sqlite3_stmt *pSel;\n  int rc_2;\n  int rc_1;\n  char **local_40;\n  SessionBuffer buf;\n  int n;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar26 = __x86_get_pc_thunk_di();\n  iVar8 = (int)((ulonglong)uVar26 >> 0x20);\n  puVar6 = (undefined4 *)uVar26;\n  db = (sqlite3 *)*puVar6;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  buf.aBuf = (u8 *)0x0;\n  buf.nBuf = 0;\n  buf.nAlloc = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *(undefined4 *)bPatchset = 0;\n    *(undefined4 *)xOutput = 0;\n  }\n  iVar7 = puVar6[5];\n  if ((puVar6[5] != 0) ||\n     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0)) goto LAB_0014d7d0;\n  if (db->mutex == (sqlite3_mutex *)0x0) {\n    local_c0 = (int *)puVar6[10];\n    if (local_c0 != (int *)0x0) goto LAB_0014d84d;\nLAB_0014da0a:\n    puVar21 = buf.aBuf;\n    if (extraout_ECX == (code *)0x0) {\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }\n    else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);\n    local_c0 = (int *)puVar6[10];\n    if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }\n    if (rc == 0) goto LAB_0014da0a;\n  }\n  sqlite3_free(buf.aBuf);\n  psVar12 = (sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3);\n  sqlite3_exec(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0);\n  iVar7 = rc;\n  if (db->mutex != (sqlite3_mutex *)0x0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);\n    iVar7 = rc;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar7;\n}\n\n" (function_definition "int sessionGenerateChangeset\n              (sqlite3_session *pSession,int bPatchset,_func_int_void_ptr_void_ptr_int *xOutput,\n              void *pOut,int *pnChangeset,void **ppChangeset)\n\n{\n  u8 uVar1;\n  sqlite3 *db;\n  size_t __n;\n  uint uVar2;\n  Vdbe *pVVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  u8 *puVar9;\n  int iVar10;\n  sqlite3_stmt *psVar11;\n  sqlite3 *psVar12;\n  char **ppcVar13;\n  Mem *pMVar14;\n  int iVar15;\n  code *extraout_ECX;\n  sqlite3_stmt *psVar16;\n  u8 enc;\n  char *zSql;\n  uint uVar17;\n  char cVar18;\n  uint uVar19;\n  byte *pbVar20;\n  u8 *puVar21;\n  int iVar22;\n  char **p;\n  int unaff_EDI;\n  uint uVar23;\n  u8 *puVar24;\n  int in_GS_OFFSET;\n  bool bVar25;\n  undefined8 uVar26;\n  i64 iVar27;\n  double dVar28;\n  void *pvVar29;\n  char **pRc;\n  SessionTable *pTab;\n  u8 **pabPK;\n  int iVar30;\n  sqlite3_stmt *in_stack_ffffff24;\n  u8 *in_stack_ffffff28;\n  sqlite3_stmt **in_stack_ffffff2c;\n  uint local_cc;\n  char **local_c4;\n  int *local_c0;\n  int *local_b4;\n  int local_94;\n  int local_88;\n  int local_74;\n  int local_70;\n  int rc;\n  int nCol;\n  u8 *abPK;\n  char **azCol;\n  sqlite3_stmt *pSel;\n  int rc_2;\n  int rc_1;\n  char **local_40;\n  SessionBuffer buf;\n  int n;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar26 = __x86_get_pc_thunk_di();\n  iVar8 = (int)((ulonglong)uVar26 >> 0x20);\n  puVar6 = (undefined4 *)uVar26;\n  db = (sqlite3 *)*puVar6;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  buf.aBuf = (u8 *)0x0;\n  buf.nBuf = 0;\n  buf.nAlloc = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *(undefined4 *)bPatchset = 0;\n    *(undefined4 *)xOutput = 0;\n  }\n  iVar7 = puVar6[5];\n  if ((puVar6[5] != 0) ||\n     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0)) goto LAB_0014d7d0;\n  if (db->mutex == (sqlite3_mutex *)0x0) {\n    local_c0 = (int *)puVar6[10];\n    if (local_c0 != (int *)0x0) goto LAB_0014d84d;\nLAB_0014da0a:\n    puVar21 = buf.aBuf;\n    if (extraout_ECX == (code *)0x0) {\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }\n    else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);\n    local_c0 = (int *)puVar6[10];\n    if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }\n    if (rc == 0) goto LAB_0014da0a;\n  }\n  sqlite3_free(buf.aBuf);\n  psVar12 = (sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3);\n  sqlite3_exec(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0);\n  iVar7 = rc;\n  if (db->mutex != (sqlite3_mutex *)0x0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);\n    iVar7 = rc;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar7;\n}" primitive_type (function_declarator "sessionGenerateChangeset\n              (sqlite3_session *pSession,int bPatchset,_func_int_void_ptr_void_ptr_int *xOutput,\n              void *pOut,int *pnChangeset,void **ppChangeset)" identifier (parameter_list "(sqlite3_session *pSession,int bPatchset,_func_int_void_ptr_void_ptr_int *xOutput,\n              void *pOut,int *pnChangeset,void **ppChangeset)" ( (parameter_declaration "sqlite3_session *pSession" type_identifier (pointer_declarator "*pSession" * identifier)) , (parameter_declaration "int bPatchset" primitive_type identifier) , (parameter_declaration "_func_int_void_ptr_void_ptr_int *xOutput" type_identifier (pointer_declarator "*xOutput" * identifier)) , (parameter_declaration "void *pOut" primitive_type (pointer_declarator "*pOut" * identifier)) , (parameter_declaration "int *pnChangeset" primitive_type (pointer_declarator "*pnChangeset" * identifier)) , (parameter_declaration "void **ppChangeset" primitive_type (pointer_declarator "**ppChangeset" * (pointer_declarator "*ppChangeset" * identifier))) ))) (compound_statement "{\n  u8 uVar1;\n  sqlite3 *db;\n  size_t __n;\n  uint uVar2;\n  Vdbe *pVVar3;\n  byte bVar4;\n  byte bVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  int iVar8;\n  u8 *puVar9;\n  int iVar10;\n  sqlite3_stmt *psVar11;\n  sqlite3 *psVar12;\n  char **ppcVar13;\n  Mem *pMVar14;\n  int iVar15;\n  code *extraout_ECX;\n  sqlite3_stmt *psVar16;\n  u8 enc;\n  char *zSql;\n  uint uVar17;\n  char cVar18;\n  uint uVar19;\n  byte *pbVar20;\n  u8 *puVar21;\n  int iVar22;\n  char **p;\n  int unaff_EDI;\n  uint uVar23;\n  u8 *puVar24;\n  int in_GS_OFFSET;\n  bool bVar25;\n  undefined8 uVar26;\n  i64 iVar27;\n  double dVar28;\n  void *pvVar29;\n  char **pRc;\n  SessionTable *pTab;\n  u8 **pabPK;\n  int iVar30;\n  sqlite3_stmt *in_stack_ffffff24;\n  u8 *in_stack_ffffff28;\n  sqlite3_stmt **in_stack_ffffff2c;\n  uint local_cc;\n  char **local_c4;\n  int *local_c0;\n  int *local_b4;\n  int local_94;\n  int local_88;\n  int local_74;\n  int local_70;\n  int rc;\n  int nCol;\n  u8 *abPK;\n  char **azCol;\n  sqlite3_stmt *pSel;\n  int rc_2;\n  int rc_1;\n  char **local_40;\n  SessionBuffer buf;\n  int n;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar26 = __x86_get_pc_thunk_di();\n  iVar8 = (int)((ulonglong)uVar26 >> 0x20);\n  puVar6 = (undefined4 *)uVar26;\n  db = (sqlite3 *)*puVar6;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  buf.aBuf = (u8 *)0x0;\n  buf.nBuf = 0;\n  buf.nAlloc = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *(undefined4 *)bPatchset = 0;\n    *(undefined4 *)xOutput = 0;\n  }\n  iVar7 = puVar6[5];\n  if ((puVar6[5] != 0) ||\n     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0)) goto LAB_0014d7d0;\n  if (db->mutex == (sqlite3_mutex *)0x0) {\n    local_c0 = (int *)puVar6[10];\n    if (local_c0 != (int *)0x0) goto LAB_0014d84d;\nLAB_0014da0a:\n    puVar21 = buf.aBuf;\n    if (extraout_ECX == (code *)0x0) {\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }\n    else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);\n    local_c0 = (int *)puVar6[10];\n    if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }\n    if (rc == 0) goto LAB_0014da0a;\n  }\n  sqlite3_free(buf.aBuf);\n  psVar12 = (sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3);\n  sqlite3_exec(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0);\n  iVar7 = rc;\n  if (db->mutex != (sqlite3_mutex *)0x0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);\n    iVar7 = rc;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }\n  return iVar7;\n}" { (declaration "u8 uVar1;" type_identifier identifier ;) (declaration "sqlite3 *db;" type_identifier (pointer_declarator "*db" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "Vdbe *pVVar3;" type_identifier (pointer_declarator "*pVVar3" * identifier) ;) (declaration "byte bVar4;" type_identifier identifier ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "u8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "sqlite3_stmt *psVar11;" type_identifier (pointer_declarator "*psVar11" * identifier) ;) (declaration "sqlite3 *psVar12;" type_identifier (pointer_declarator "*psVar12" * identifier) ;) (declaration "char **ppcVar13;" primitive_type (pointer_declarator "**ppcVar13" * (pointer_declarator "*ppcVar13" * identifier)) ;) (declaration "Mem *pMVar14;" type_identifier (pointer_declarator "*pMVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "code *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "sqlite3_stmt *psVar16;" type_identifier (pointer_declarator "*psVar16" * identifier) ;) (declaration "u8 enc;" type_identifier identifier ;) (declaration "char *zSql;" primitive_type (pointer_declarator "*zSql" * identifier) ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "char cVar18;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "u8 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "char **p;" primitive_type (pointer_declarator "**p" * (pointer_declarator "*p" * identifier)) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint uVar23;" type_identifier identifier ;) (declaration "u8 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar25;" primitive_type identifier ;) (declaration "undefined8 uVar26;" type_identifier identifier ;) (declaration "i64 iVar27;" type_identifier identifier ;) (declaration "double dVar28;" primitive_type identifier ;) (declaration "void *pvVar29;" primitive_type (pointer_declarator "*pvVar29" * identifier) ;) (declaration "char **pRc;" primitive_type (pointer_declarator "**pRc" * (pointer_declarator "*pRc" * identifier)) ;) (declaration "SessionTable *pTab;" type_identifier (pointer_declarator "*pTab" * identifier) ;) (declaration "u8 **pabPK;" type_identifier (pointer_declarator "**pabPK" * (pointer_declarator "*pabPK" * identifier)) ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "sqlite3_stmt *in_stack_ffffff24;" type_identifier (pointer_declarator "*in_stack_ffffff24" * identifier) ;) (declaration "u8 *in_stack_ffffff28;" type_identifier (pointer_declarator "*in_stack_ffffff28" * identifier) ;) (declaration "sqlite3_stmt **in_stack_ffffff2c;" type_identifier (pointer_declarator "**in_stack_ffffff2c" * (pointer_declarator "*in_stack_ffffff2c" * identifier)) ;) (declaration "uint local_cc;" type_identifier identifier ;) (declaration "char **local_c4;" primitive_type (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier)) ;) (declaration "int *local_c0;" primitive_type (pointer_declarator "*local_c0" * identifier) ;) (declaration "int *local_b4;" primitive_type (pointer_declarator "*local_b4" * identifier) ;) (declaration "int local_94;" primitive_type identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int rc;" primitive_type identifier ;) (declaration "int nCol;" primitive_type identifier ;) (declaration "u8 *abPK;" type_identifier (pointer_declarator "*abPK" * identifier) ;) (declaration "char **azCol;" primitive_type (pointer_declarator "**azCol" * (pointer_declarator "*azCol" * identifier)) ;) (declaration "sqlite3_stmt *pSel;" type_identifier (pointer_declarator "*pSel" * identifier) ;) (declaration "int rc_2;" primitive_type identifier ;) (declaration "int rc_1;" primitive_type identifier ;) (declaration "char **local_40;" primitive_type (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier)) ;) (declaration "SessionBuffer buf;" type_identifier identifier ;) (declaration "int n;" primitive_type identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "uVar26 = __x86_get_pc_thunk_di();" (assignment_expression "uVar26 = __x86_get_pc_thunk_di()" identifier = (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = (int)((ulonglong)uVar26 >> 0x20);" (assignment_expression "iVar8 = (int)((ulonglong)uVar26 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar26 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar26 >> 0x20)" ( (binary_expression "(ulonglong)uVar26 >> 0x20" (cast_expression "(ulonglong)uVar26" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar6 = (undefined4 *)uVar26;" (assignment_expression "puVar6 = (undefined4 *)uVar26" identifier = (cast_expression "(undefined4 *)uVar26" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "db = (sqlite3 *)*puVar6;" (assignment_expression "db = (sqlite3 *)*puVar6" identifier = (cast_expression "(sqlite3 *)*puVar6" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "buf.aBuf = (u8 *)0x0;" (assignment_expression "buf.aBuf = (u8 *)0x0" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "buf.nBuf = 0;" (assignment_expression "buf.nBuf = 0" (field_expression "buf.nBuf" identifier . field_identifier) = number_literal) ;) (expression_statement "buf.nAlloc = 0;" (assignment_expression "buf.nAlloc = 0" (field_expression "buf.nAlloc" identifier . field_identifier) = number_literal) ;) (if_statement "if (extraout_ECX == (code *)0x0) {\n    *(undefined4 *)bPatchset = 0;\n    *(undefined4 *)xOutput = 0;\n  }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *(undefined4 *)bPatchset = 0;\n    *(undefined4 *)xOutput = 0;\n  }" { (expression_statement "*(undefined4 *)bPatchset = 0;" (assignment_expression "*(undefined4 *)bPatchset = 0" (pointer_expression "*(undefined4 *)bPatchset" * (cast_expression "(undefined4 *)bPatchset" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)xOutput = 0;" (assignment_expression "*(undefined4 *)xOutput = 0" (pointer_expression "*(undefined4 *)xOutput" * (cast_expression "(undefined4 *)xOutput" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (expression_statement "iVar7 = puVar6[5];" (assignment_expression "iVar7 = puVar6[5]" identifier = (subscript_expression "puVar6[5]" identifier [ number_literal ])) ;) (if_statement "if ((puVar6[5] != 0) ||\n     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0)) goto LAB_0014d7d0;" if (parenthesized_expression "((puVar6[5] != 0) ||\n     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0))" ( (binary_expression "(puVar6[5] != 0) ||\n     (psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0)" (parenthesized_expression "(puVar6[5] != 0)" ( (binary_expression "puVar6[5] != 0" (subscript_expression "puVar6[5]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0)" ( (comma_expression "psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3),\n     rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0" (assignment_expression "psVar12 = (sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3)" identifier = (cast_expression "(sqlite3 *)((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_REL[0x77].r_offset + unaff_EDI + 3)" ( (binary_expression "(int)&__DT_REL[0x77].r_offset + unaff_EDI + 3" (binary_expression "(int)&__DT_REL[0x77].r_offset + unaff_EDI" (cast_expression "(int)&__DT_REL[0x77].r_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_REL[0x77].r_offset" & (field_expression "__DT_REL[0x77].r_offset" (subscript_expression "__DT_REL[0x77]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))) , (comma_expression "rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0),\n     iVar7 = rc, rc != 0" (assignment_expression "rc = sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0)" identifier = (call_expression "sqlite3_exec(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0)" identifier (argument_list "(psVar12,(char *)xOutput,(sqlite3_callback)*puVar6,psVar12,(char **)0x0)" ( identifier , (cast_expression "(char *)xOutput" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "(sqlite3_callback)*puVar6" (parenthesized_expression "(sqlite3_callback)" ( identifier )) * identifier) , identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) )))) , (comma_expression "iVar7 = rc, rc != 0" (assignment_expression "iVar7 = rc" identifier = identifier) , (binary_expression "rc != 0" identifier != number_literal)))) ))) )) (goto_statement "goto LAB_0014d7d0;" goto statement_identifier ;)) (if_statement "if (db->mutex == (sqlite3_mutex *)0x0) {\n    local_c0 = (int *)puVar6[10];\n    if (local_c0 != (int *)0x0) goto LAB_0014d84d;\nLAB_0014da0a:\n    puVar21 = buf.aBuf;\n    if (extraout_ECX == (code *)0x0) {\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }\n    else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);\n    local_c0 = (int *)puVar6[10];\n    if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }\n    if (rc == 0) goto LAB_0014da0a;\n  }" if (parenthesized_expression "(db->mutex == (sqlite3_mutex *)0x0)" ( (binary_expression "db->mutex == (sqlite3_mutex *)0x0" (field_expression "db->mutex" identifier -> field_identifier) == (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_c0 = (int *)puVar6[10];\n    if (local_c0 != (int *)0x0) goto LAB_0014d84d;\nLAB_0014da0a:\n    puVar21 = buf.aBuf;\n    if (extraout_ECX == (code *)0x0) {\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }\n    else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }\n  }" { (expression_statement "local_c0 = (int *)puVar6[10];" (assignment_expression "local_c0 = (int *)puVar6[10]" identifier = (cast_expression "(int *)puVar6[10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[10]" identifier [ number_literal ]))) ;) (if_statement "if (local_c0 != (int *)0x0) goto LAB_0014d84d;" if (parenthesized_expression "(local_c0 != (int *)0x0)" ( (binary_expression "local_c0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014d84d;" goto statement_identifier ;)) (labeled_statement "LAB_0014da0a:\n    puVar21 = buf.aBuf;" statement_identifier : (expression_statement "puVar21 = buf.aBuf;" (assignment_expression "puVar21 = buf.aBuf" identifier = (field_expression "buf.aBuf" identifier . field_identifier)) ;)) (if_statement "if (extraout_ECX == (code *)0x0) {\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }\n    else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      buf.aBuf = (u8 *)0x0;\n      *(int *)bPatchset = buf.nBuf;\n      *(u8 **)xOutput = puVar21;\n    }" { (expression_statement "buf.aBuf = (u8 *)0x0;" (assignment_expression "buf.aBuf = (u8 *)0x0" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(int *)bPatchset = buf.nBuf;" (assignment_expression "*(int *)bPatchset = buf.nBuf" (pointer_expression "*(int *)bPatchset" * (cast_expression "(int *)bPatchset" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (field_expression "buf.nBuf" identifier . field_identifier)) ;) (expression_statement "*(u8 **)xOutput = puVar21;" (assignment_expression "*(u8 **)xOutput = puVar21" (pointer_expression "*(u8 **)xOutput" * (cast_expression "(u8 **)xOutput" ( (type_descriptor "u8 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }" else (if_statement "if (0 < buf.nBuf) {\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }" if (parenthesized_expression "(0 < buf.nBuf)" ( (binary_expression "0 < buf.nBuf" number_literal < (field_expression "buf.nBuf" identifier . field_identifier)) )) (compound_statement "{\n      rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n    }" { (expression_statement "rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);" (assignment_expression "rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf)" identifier = (call_expression "(*extraout_ECX)(pSession,buf.aBuf,buf.nBuf)" (parenthesized_expression "(*extraout_ECX)" ( (pointer_expression "*extraout_ECX" * identifier) )) (argument_list "(pSession,buf.aBuf,buf.nBuf)" ( identifier , (field_expression "buf.aBuf" identifier . field_identifier) , (field_expression "buf.nBuf" identifier . field_identifier) )))) ;) })))) }) (else_clause "else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);\n    local_c0 = (int *)puVar6[10];\n    if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }\n    if (rc == 0) goto LAB_0014da0a;\n  }" else (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);\n    local_c0 = (int *)puVar6[10];\n    if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }\n    if (rc == 0) goto LAB_0014da0a;\n  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(db->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(db->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(db->mutex)" ( (field_expression "db->mutex" identifier -> field_identifier) ))) ;) (expression_statement "local_c0 = (int *)puVar6[10];" (assignment_expression "local_c0 = (int *)puVar6[10]" identifier = (cast_expression "(int *)puVar6[10]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[10]" identifier [ number_literal ]))) ;) (if_statement "if ((rc == 0) && (local_c0 != (int *)0x0)) {\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }" if (parenthesized_expression "((rc == 0) && (local_c0 != (int *)0x0))" ( (binary_expression "(rc == 0) && (local_c0 != (int *)0x0)" (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) && (parenthesized_expression "(local_c0 != (int *)0x0)" ( (binary_expression "local_c0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\nLAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));\n    }" { (labeled_statement "LAB_0014d84d:\n      do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));" statement_identifier : (do_statement "do {\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      } while ((rc == 0) && (local_c0 != (int *)0x0));" do (compound_statement "{\n        iVar7 = buf.nBuf;\n        if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }\n        local_c0 = (int *)*local_c0;\n      }" { (expression_statement "iVar7 = buf.nBuf;" (assignment_expression "iVar7 = buf.nBuf" identifier = (field_expression "buf.nBuf" identifier . field_identifier)) ;) (if_statement "if (local_c0[6] != 0) {\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }" if (parenthesized_expression "(local_c0[6] != 0)" ( (binary_expression "local_c0[6] != 0" (subscript_expression "local_c0[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          azCol = (char **)0x0;\n          pSel = (sqlite3_stmt *)0x0;\n          pabPK = &abPK;\n          pTab = (SessionTable *)&azCol;\n          pvVar29 = (void *)0x0;\n          rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);\n          if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }\nLAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);\n          if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }\nLAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);\n          if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }\n          sqlite3_free(azCol);\n        }" { (expression_statement "azCol = (char **)0x0;" (assignment_expression "azCol = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pSel = (sqlite3_stmt *)0x0;" (assignment_expression "pSel = (sqlite3_stmt *)0x0" identifier = (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pabPK = &abPK;" (assignment_expression "pabPK = &abPK" identifier = (pointer_expression "&abPK" & identifier)) ;) (expression_statement "pTab = (SessionTable *)&azCol;" (assignment_expression "pTab = (SessionTable *)&azCol" identifier = (cast_expression "(SessionTable *)&azCol" ( (type_descriptor "SessionTable *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&azCol" & identifier))) ;) (expression_statement "pvVar29 = (void *)0x0;" (assignment_expression "pvVar29 = (void *)0x0" identifier = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK);" (assignment_expression "rc = sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK)" identifier = (call_expression "sessionTableInfo(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK)" identifier (argument_list "(db,(char *)puVar6[1],(char *)local_c0[1],&nCol,(char **)0x0,\n                                (char ***)pTab,pabPK)" ( identifier , (cast_expression "(char *)puVar6[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])) , (cast_expression "(char *)local_c0[1]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c0[1]" identifier [ number_literal ])) , (pointer_expression "&nCol" & identifier) , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , (cast_expression "(char ***)pTab" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier) , identifier )))) ;) (if_statement "if (rc == 0) {\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n            if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }\n            rc = 0x11;\n          }" { (if_statement "if (local_c0[2] == nCol) {\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }" if (parenthesized_expression "(local_c0[2] == nCol)" ( (binary_expression "local_c0[2] == nCol" (subscript_expression "local_c0[2]" identifier [ number_literal ]) == identifier) )) (compound_statement "{\n              pvVar29 = (void *)local_c0[5];\n              pTab = (SessionTable *)nCol;\n              iVar10 = memcmp(abPK,pvVar29,nCol);\n              if (iVar10 == 0) goto LAB_0014d967;\n            }" { (expression_statement "pvVar29 = (void *)local_c0[5];" (assignment_expression "pvVar29 = (void *)local_c0[5]" identifier = (cast_expression "(void *)local_c0[5]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c0[5]" identifier [ number_literal ]))) ;) (expression_statement "pTab = (SessionTable *)nCol;" (assignment_expression "pTab = (SessionTable *)nCol" identifier = (cast_expression "(SessionTable *)nCol" ( (type_descriptor "SessionTable *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar10 = memcmp(abPK,pvVar29,nCol);" (assignment_expression "iVar10 = memcmp(abPK,pvVar29,nCol)" identifier = (call_expression "memcmp(abPK,pvVar29,nCol)" identifier (argument_list "(abPK,pvVar29,nCol)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar10 == 0) goto LAB_0014d967;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014d967;" goto statement_identifier ;)) })) (expression_statement "rc = 0x11;" (assignment_expression "rc = 0x11" identifier = number_literal) ;) })) (labeled_statement "LAB_0014d967:\n          sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);" statement_identifier : (expression_statement "sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK);" (call_expression "sessionAppendTableHdr((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK)" identifier (argument_list "((SessionBuffer *)&rc,(int)pvVar29,pTab,(int *)pabPK)" ( (cast_expression "(SessionBuffer *)&rc" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rc" & identifier)) , (cast_expression "(int)pvVar29" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (cast_expression "(int *)pabPK" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (if_statement "if (rc == 0) {\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }\n          else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n            pRc = azCol;\n            rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);\n            local_74 = buf.nBuf;\n            iVar10 = local_c0[7];\n            pVVar3 = (Vdbe *)pSel;\n            if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }\n          }" { (expression_statement "pRc = azCol;" (assignment_expression "pRc = azCol" identifier = identifier) ;) (expression_statement "rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c);" (assignment_expression "rc = sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c)" identifier = (call_expression "sessionSelectStmt((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c)" identifier (argument_list "((sqlite3 *)nCol,(char *)azCol,(char *)abPK,(int)&pSel,\n                                   (char **)in_stack_ffffff24,in_stack_ffffff28,in_stack_ffffff2c)" ( (cast_expression "(sqlite3 *)nCol" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)azCol" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)abPK" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)&pSel" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pSel" & identifier)) , (cast_expression "(char **)in_stack_ffffff24" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , identifier , identifier )))) ;) (expression_statement "local_74 = buf.nBuf;" (assignment_expression "local_74 = buf.nBuf" identifier = (field_expression "buf.nBuf" identifier . field_identifier)) ;) (expression_statement "iVar10 = local_c0[7];" (assignment_expression "iVar10 = local_c0[7]" identifier = (subscript_expression "local_c0[7]" identifier [ number_literal ])) ;) (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((0 < iVar10) && (rc == 0)) {\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }" if (parenthesized_expression "((0 < iVar10) && (rc == 0))" ( (binary_expression "(0 < iVar10) && (rc == 0)" (parenthesized_expression "(0 < iVar10)" ( (binary_expression "0 < iVar10" number_literal < identifier) )) && (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) ))) )) (compound_statement "{\n              local_88 = 0;\n              iVar30 = local_c0[8];\n              do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);\n            }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "iVar30 = local_c0[8];" (assignment_expression "iVar30 = local_c0[8]" identifier = (subscript_expression "local_c0[8]" identifier [ number_literal ])) ;) (do_statement "do {\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              } while (local_88 < iVar10);" do (compound_statement "{\n                while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }\n                local_88 = local_88 + 1;\n              }" { (while_statement "while (local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0) {\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }" while (parenthesized_expression "(local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0)" ( (comma_expression "local_b4 = *(int **)(iVar30 + local_88 * 4), local_b4 != (int *)0x0" (assignment_expression "local_b4 = *(int **)(iVar30 + local_88 * 4)" identifier = (pointer_expression "*(int **)(iVar30 + local_88 * 4)" * (cast_expression "(int **)(iVar30 + local_88 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar30 + local_88 * 4)" ( (binary_expression "iVar30 + local_88 * 4" identifier + (binary_expression "local_88 * 4" identifier * number_literal)) ))))) , (binary_expression "local_b4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                  do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));\n                  local_88 = local_88 + 1;\n                  iVar10 = local_c0[7];\n                  if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;\n                  iVar30 = local_c0[8];\n                }" { (do_statement "do {\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  } while ((local_b4 != (int *)0x0) && (bVar25));" do (compound_statement "{\n                    puVar21 = abPK;\n                    iVar10 = nCol;\n                    pbVar20 = (byte *)local_b4[3];\n                    if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }\n                    local_b4 = (int *)local_b4[4];\n                    pVVar3 = (Vdbe *)pSel;\n                  }" { (expression_statement "puVar21 = abPK;" (assignment_expression "puVar21 = abPK" identifier = identifier) ;) (expression_statement "iVar10 = nCol;" (assignment_expression "iVar10 = nCol" identifier = identifier) ;) (expression_statement "pbVar20 = (byte *)local_b4[3];" (assignment_expression "pbVar20 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;) (if_statement "if (nCol < 1) {\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }\n                    else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }" if (parenthesized_expression "(nCol < 1)" ( (binary_expression "nCol < 1" identifier < number_literal) )) (compound_statement "{\n                      rc = 0;\nLAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);\n                      iVar30 = buf.nBuf;\n                      puVar9 = buf.aBuf;\n                      psVar16 = pSel;\n                      puVar24 = abPK;\n                      iVar10 = nCol;\n                      puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                      if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }\n                      pVVar3 = (Vdbe *)pSel;\n                      if (rc != 0) goto LAB_0014d9b9;\n                      rc = sqlite3_reset(pSel);\n                      if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }\n                    }" { (expression_statement "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (labeled_statement "LAB_0014ddea:\n                      iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);" statement_identifier : (expression_statement "iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3);" (assignment_expression "iVar22 = sqlite3_step((sqlite3_stmt *)pVVar3)" identifier = (call_expression "sqlite3_step((sqlite3_stmt *)pVVar3)" identifier (argument_list "((sqlite3_stmt *)pVVar3)" ( (cast_expression "(sqlite3_stmt *)pVVar3" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )))) ;)) (expression_statement "iVar30 = buf.nBuf;" (assignment_expression "iVar30 = buf.nBuf" identifier = (field_expression "buf.nBuf" identifier . field_identifier)) ;) (expression_statement "puVar9 = buf.aBuf;" (assignment_expression "puVar9 = buf.aBuf" identifier = (field_expression "buf.aBuf" identifier . field_identifier)) ;) (expression_statement "psVar16 = pSel;" (assignment_expression "psVar16 = pSel" identifier = identifier) ;) (expression_statement "puVar24 = abPK;" (assignment_expression "puVar24 = abPK" identifier = identifier) ;) (expression_statement "iVar10 = nCol;" (assignment_expression "iVar10 = nCol" identifier = identifier) ;) (expression_statement "puVar21 = (u8 *)(buf.nBuf >> 0x1f);" (assignment_expression "puVar21 = (u8 *)(buf.nBuf >> 0x1f)" identifier = (cast_expression "(u8 *)(buf.nBuf >> 0x1f)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(buf.nBuf >> 0x1f)" ( (binary_expression "buf.nBuf >> 0x1f" (field_expression "buf.nBuf" identifier . field_identifier) >> number_literal) )))) ;) (if_statement "if (iVar22 == 100) {\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }\n                      else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }" if (parenthesized_expression "(iVar22 == 100)" ( (binary_expression "iVar22 == 100" identifier == number_literal) )) (compound_statement "{\n                        if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }\n                      }" { (if_statement "if (*local_b4 == 0x12) {\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }\n                        else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }" if (parenthesized_expression "(*local_b4 == 0x12)" ( (binary_expression "*local_b4 == 0x12" (pointer_expression "*local_b4" * identifier) == number_literal) )) (compound_statement "{\n                          sessionAppendByte(&buf,'\x12',&rc);\n                          iVar22 = 0;\n                          sessionAppendByte(&buf,(u8)local_b4[1],&rc);\n                          iVar10 = rc;\n                          iVar30 = nCol;\n                          if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }\n                        }" { (expression_statement "sessionAppendByte(&buf,'\x12',&rc);" (call_expression "sessionAppendByte(&buf,'\x12',&rc)" identifier (argument_list "(&buf,'\x12',&rc)" ( (pointer_expression "&buf" & identifier) , (char_literal "'\x12'" ' escape_sequence ') , (pointer_expression "&rc" & identifier) ))) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "sessionAppendByte(&buf,(u8)local_b4[1],&rc);" (call_expression "sessionAppendByte(&buf,(u8)local_b4[1],&rc)" identifier (argument_list "(&buf,(u8)local_b4[1],&rc)" ( (pointer_expression "&buf" & identifier) , (cast_expression "(u8)local_b4[1]" ( (type_descriptor "u8" type_identifier) ) (subscript_expression "local_b4[1]" identifier [ number_literal ])) , (pointer_expression "&rc" & identifier) ))) ;) (expression_statement "iVar10 = rc;" (assignment_expression "iVar10 = rc" identifier = identifier) ;) (expression_statement "iVar30 = nCol;" (assignment_expression "iVar30 = nCol" identifier = identifier) ;) (if_statement "if (0 < nCol) {\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }" if (parenthesized_expression "(0 < nCol)" ( (binary_expression "0 < nCol" number_literal < identifier) )) (compound_statement "{\n                            do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);\n                          }" { (do_statement "do {\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            } while (iVar22 < nCol);" do (compound_statement "{\n                              while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }\n                              iVar22 = iVar22 + 1;\n                              sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);\n                              iVar10 = rc;\n                              iVar30 = nCol;\n                            }" { (while_statement "while (iVar10 != 0) {\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }" while (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                                iVar22 = iVar22 + 1;\n                                pVVar3 = (Vdbe *)pSel;\n                                if (iVar30 <= iVar22) goto LAB_0014d9b9;\n                              }" { (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iVar30 <= iVar22) goto LAB_0014d9b9;" if (parenthesized_expression "(iVar30 <= iVar22)" ( (binary_expression "iVar30 <= iVar22" identifier <= identifier) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc);" (call_expression "sessionAppendCol(&buf,pSel,(int)&rc,(int *)pRc)" identifier (argument_list "(&buf,pSel,(int)&rc,(int *)pRc)" ( (pointer_expression "&buf" & identifier) , identifier , (cast_expression "(int)&rc" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rc" & identifier)) , (cast_expression "(int *)pRc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "iVar10 = rc;" (assignment_expression "iVar10 = rc" identifier = identifier) ;) (expression_statement "iVar30 = nCol;" (assignment_expression "iVar30 = nCol" identifier = identifier) ;) }) while (parenthesized_expression "(iVar22 < nCol)" ( (binary_expression "iVar22 < nCol" identifier < identifier) )) ;) })) }) (else_clause "else {\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }" else (compound_statement "{\n                          rc_2 = 0;\n                          local_c4 = (char **)local_b4[3];\n                          n = 0;\n                          local_28 = 0;\n                          local_24 = 0;\n                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }\njoined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }\n                          buf.nBuf = iVar30;\n                          sqlite3_free((void *)n);\n                          rc = rc_2;\n                        }" { (expression_statement "rc_2 = 0;" (assignment_expression "rc_2 = 0" identifier = number_literal) ;) (expression_statement "local_c4 = (char **)local_b4[3];" (assignment_expression "local_c4 = (char **)local_b4[3]" identifier = (cast_expression "(char **)local_b4[3]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;) (expression_statement "n = 0;" (assignment_expression "n = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (if_statement "if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }\n                          else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }" if (parenthesized_expression "(buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0)" ( (binary_expression "buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0" (binary_expression "buf.nAlloc == buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) == (field_expression "buf.nBuf" identifier . field_identifier)) || (binary_expression "buf.nAlloc - buf.nBuf < 0" (binary_expression "buf.nAlloc - buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) - (field_expression "buf.nBuf" identifier . field_identifier)) < number_literal)) )) (compound_statement "{\n                            uVar19 = buf.nAlloc;\n                            if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }\n                            uVar17 = (int)uVar19 >> 0x1f;\n                            do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));\n                            in_stack_ffffff24 = pSel;\n                            iVar10 = sqlite3_initialize();\n                            if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }\n                          }" { (expression_statement "uVar19 = buf.nAlloc;" (assignment_expression "uVar19 = buf.nAlloc" identifier = (field_expression "buf.nAlloc" identifier . field_identifier)) ;) (if_statement "if (buf.nAlloc == 0) {\n                              uVar19 = 0x80;\n                            }" if (parenthesized_expression "(buf.nAlloc == 0)" ( (binary_expression "buf.nAlloc == 0" (field_expression "buf.nAlloc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                              uVar19 = 0x80;\n                            }" { (expression_statement "uVar19 = 0x80;" (assignment_expression "uVar19 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar19 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar19 >> 0x1f" identifier = (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)));" do (compound_statement "{\n                              uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                              uVar19 = uVar19 * 2;\n                            }" { (expression_statement "uVar17 = uVar17 << 1 | uVar19 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar19 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar19 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar19 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar19 = uVar19 * 2;" (assignment_expression "uVar19 = uVar19 * 2" identifier = (binary_expression "uVar19 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)))" ( (binary_expression "(int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                     (int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf))" (cast_expression "(int)(uint)(uVar19 - buf.nBuf != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar19 - buf.nBuf != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 - buf.nBuf != 0)" ( (binary_expression "uVar19 - buf.nBuf != 0" (binary_expression "uVar19 - buf.nBuf" identifier - (field_expression "buf.nBuf" identifier . field_identifier)) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf))" - (parenthesized_expression "((uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf))" ( (binary_expression "(uVar17 - (int)puVar21) -\n                                           (uint)(uVar19 < (uint)buf.nBuf)" (parenthesized_expression "(uVar17 - (int)puVar21)" ( (binary_expression "uVar17 - (int)puVar21" identifier - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(uVar19 < (uint)buf.nBuf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)buf.nBuf)" ( (binary_expression "uVar19 < (uint)buf.nBuf" identifier < (cast_expression "(uint)buf.nBuf" ( (type_descriptor "uint" type_identifier) ) (field_expression "buf.nBuf" identifier . field_identifier))) )))) ))))) )) ;) (expression_statement "in_stack_ffffff24 = pSel;" (assignment_expression "in_stack_ffffff24 = pSel" identifier = identifier) ;) (expression_statement "iVar10 = sqlite3_initialize();" (assignment_expression "iVar10 = sqlite3_initialize()" identifier = (call_expression "sqlite3_initialize()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)) {\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }\n                            else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }" if (parenthesized_expression "((iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0))" ( (binary_expression "(iVar10 == 0) &&\n                               (psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "(psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0)" ( (comma_expression "psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)),\n                               psVar11 != (sqlite3_stmt *)0x0" (assignment_expression "psVar11 = (sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24))" identifier = (cast_expression "(sqlite3_stmt *)\n                                          sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24))" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Realloc(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24))" identifier (argument_list "(puVar9,CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)" identifier (argument_list "(in_stack_ffffff28,\n                                                                         in_stack_ffffff24)" ( identifier , identifier ))) ))))) , (binary_expression "psVar11 != (sqlite3_stmt *)0x0" identifier != (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                              buf.aBuf = (u8 *)psVar11;\n                              buf.nAlloc = uVar19;\n                              if (rc_2 == 0) goto LAB_0014df46;\n                            }" { (expression_statement "buf.aBuf = (u8 *)psVar11;" (assignment_expression "buf.aBuf = (u8 *)psVar11" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)psVar11" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "buf.nAlloc = uVar19;" (assignment_expression "buf.nAlloc = uVar19" (field_expression "buf.nAlloc" identifier . field_identifier) = identifier) ;) (if_statement "if (rc_2 == 0) goto LAB_0014df46;" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014df46;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }" else (compound_statement "{\nLAB_0014ed09:\n                              rc_2 = 7;\n                            }" { (labeled_statement "LAB_0014ed09:\n                              rc_2 = 7;" statement_identifier : (expression_statement "rc_2 = 7;" (assignment_expression "rc_2 = 7" identifier = number_literal) ;)) }))) }) (else_clause "else {\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }" else (compound_statement "{\nLAB_0014df46:\n                            uVar19 = buf.nBuf + 1;\n                            buf.aBuf[buf.nBuf] = '\x17';\n                            iVar10 = local_b4[1];\n                            buf.nBuf = uVar19;\n                            if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }\n                          }" { (labeled_statement "LAB_0014df46:\n                            uVar19 = buf.nBuf + 1;" statement_identifier : (expression_statement "uVar19 = buf.nBuf + 1;" (assignment_expression "uVar19 = buf.nBuf + 1" identifier = (binary_expression "buf.nBuf + 1" (field_expression "buf.nBuf" identifier . field_identifier) + number_literal)) ;)) (expression_statement "buf.aBuf[buf.nBuf] = '\x17';" (assignment_expression "buf.aBuf[buf.nBuf] = '\x17'" (subscript_expression "buf.aBuf[buf.nBuf]" (field_expression "buf.aBuf" identifier . field_identifier) [ (field_expression "buf.nBuf" identifier . field_identifier) ]) = (char_literal "'\x17'" ' escape_sequence ')) ;) (expression_statement "iVar10 = local_b4[1];" (assignment_expression "iVar10 = local_b4[1]" identifier = (subscript_expression "local_b4[1]" identifier [ number_literal ])) ;) (expression_statement "buf.nBuf = uVar19;" (assignment_expression "buf.nBuf = uVar19" (field_expression "buf.nBuf" identifier . field_identifier) = identifier) ;) (if_statement "if (rc_2 == 0) {\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (compound_statement "{\n                              if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }\n                              local_cc._0_1_ = (u8)iVar10;\n                              buf.aBuf[buf.nBuf] = (u8)local_cc;\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                              buf.nBuf = buf.nBuf + 1;\n                            }" { (if_statement "if (buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0) {\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }" if (parenthesized_expression "(buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0)" ( (binary_expression "buf.nAlloc == uVar19 || (int)(buf.nAlloc - uVar19) < 0" (binary_expression "buf.nAlloc == uVar19" (field_expression "buf.nAlloc" identifier . field_identifier) == identifier) || (binary_expression "(int)(buf.nAlloc - uVar19) < 0" (cast_expression "(int)(buf.nAlloc - uVar19)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(buf.nAlloc - uVar19)" ( (binary_expression "buf.nAlloc - uVar19" (field_expression "buf.nAlloc" identifier . field_identifier) - identifier) ))) < number_literal)) )) (compound_statement "{\n                                uVar17 = buf.nAlloc;\n                                if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }\n                                uVar23 = (int)uVar17 >> 0x1f;\n                                do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));\n                                in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;\n                                iVar22 = sqlite3_initialize();\n                                if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;\n                                buf.aBuf = (u8 *)in_stack_ffffff24;\n                                buf.nAlloc = uVar17;\n                                if (rc_2 != 0) goto joined_r0x0014e470;\n                              }" { (expression_statement "uVar17 = buf.nAlloc;" (assignment_expression "uVar17 = buf.nAlloc" identifier = (field_expression "buf.nAlloc" identifier . field_identifier)) ;) (if_statement "if (buf.nAlloc == 0) {\n                                  uVar17 = 0x80;\n                                }" if (parenthesized_expression "(buf.nAlloc == 0)" ( (binary_expression "buf.nAlloc == 0" (field_expression "buf.nAlloc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                                  uVar17 = 0x80;\n                                }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar23 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar23 = (int)uVar17 >> 0x1f" identifier = (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                } while ((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)));" do (compound_statement "{\n                                  uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                  uVar17 = uVar17 * 2;\n                                }" { (expression_statement "uVar23 = uVar23 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar23 = uVar23 << 1 | uVar17 >> 0x1f" identifier = (binary_expression "uVar23 << 1 | uVar17 >> 0x1f" (binary_expression "uVar23 << 1" identifier << number_literal) | (binary_expression "uVar17 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" identifier = (binary_expression "uVar17 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)))" ( (binary_expression "(int)(uint)(uVar17 - uVar19 != 0) <=\n                                         (int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19))" (cast_expression "(int)(uint)(uVar17 - uVar19 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar17 - uVar19 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 - uVar19 != 0)" ( (binary_expression "uVar17 - uVar19 != 0" (binary_expression "uVar17 - uVar19" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19))" - (parenthesized_expression "((uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19))" ( (binary_expression "(uVar23 - ((int)uVar19 >> 0x1f)) -\n                                               (uint)(uVar17 < uVar19)" (parenthesized_expression "(uVar23 - ((int)uVar19 >> 0x1f))" ( (binary_expression "uVar23 - ((int)uVar19 >> 0x1f)" identifier - (parenthesized_expression "((int)uVar19 >> 0x1f)" ( (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar17 < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar19)" ( (binary_expression "uVar17 < uVar19" identifier < identifier) )))) ))))) )) ;) (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf" identifier = (cast_expression "(sqlite3_stmt *)buf.aBuf" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.aBuf" identifier . field_identifier))) ;) (expression_statement "iVar22 = sqlite3_initialize();" (assignment_expression "iVar22 = sqlite3_initialize()" identifier = (call_expression "sqlite3_initialize()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)) goto LAB_0014ed09;" if (parenthesized_expression "((iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0))" ( (binary_expression "(iVar22 != 0) ||\n                                   (in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)" (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) || (parenthesized_expression "(in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0)" ( (comma_expression "in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )),\n                                   in_stack_ffffff24 == (sqlite3_stmt *)0x0" (assignment_expression "in_stack_ffffff24 =\n                                         (sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                ))" identifier = (cast_expression "(sqlite3_stmt *)\n                                         sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                ))" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Realloc(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                ))" identifier (argument_list "(in_stack_ffffff24,\n                                                        CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                ))" ( identifier , (call_expression "CONCAT44(in_stack_ffffff28,in_stack_ffffff24\n                                                                )" identifier (argument_list "(in_stack_ffffff28,in_stack_ffffff24\n                                                                )" ( identifier , identifier ))) ))))) , (binary_expression "in_stack_ffffff24 == (sqlite3_stmt *)0x0" identifier == (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0014ed09;" goto statement_identifier ;)) (expression_statement "buf.aBuf = (u8 *)in_stack_ffffff24;" (assignment_expression "buf.aBuf = (u8 *)in_stack_ffffff24" (field_expression "buf.aBuf" identifier . field_identifier) = (cast_expression "(u8 *)in_stack_ffffff24" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "buf.nAlloc = uVar17;" (assignment_expression "buf.nAlloc = uVar17" (field_expression "buf.nAlloc" identifier . field_identifier) = identifier) ;) (if_statement "if (rc_2 != 0) goto joined_r0x0014e470;" if (parenthesized_expression "(rc_2 != 0)" ( (binary_expression "rc_2 != 0" identifier != number_literal) )) (goto_statement "goto joined_r0x0014e470;" goto statement_identifier ;)) })) (expression_statement "local_cc._0_1_ = (u8)iVar10;" (assignment_expression "local_cc._0_1_ = (u8)iVar10" (field_expression "local_cc._0_1_" identifier . field_identifier) = (cast_expression "(u8)iVar10" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "buf.aBuf[buf.nBuf] = (u8)local_cc;" (assignment_expression "buf.aBuf[buf.nBuf] = (u8)local_cc" (subscript_expression "buf.aBuf[buf.nBuf]" (field_expression "buf.aBuf" identifier . field_identifier) [ (field_expression "buf.nBuf" identifier . field_identifier) ]) = (cast_expression "(u8)local_cc" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf;" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)buf.aBuf" identifier = (cast_expression "(sqlite3_stmt *)buf.aBuf" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.aBuf" identifier . field_identifier))) ;) (expression_statement "buf.nBuf = buf.nBuf + 1;" (assignment_expression "buf.nBuf = buf.nBuf + 1" (field_expression "buf.nBuf" identifier . field_identifier) = (binary_expression "buf.nBuf + 1" (field_expression "buf.nBuf" identifier . field_identifier) + number_literal)) ;) })) }))) (labeled_statement "joined_r0x0014e470:\n                          if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }" statement_identifier : (if_statement "if ((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))\n                          {\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }" if (parenthesized_expression "((psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0))" ( (binary_expression "(psVar16 != (sqlite3_stmt *)0x0) && (*(short *)(psVar16 + 0x88) != 0)" (parenthesized_expression "(psVar16 != (sqlite3_stmt *)0x0)" ( (binary_expression "psVar16 != (sqlite3_stmt *)0x0" identifier != (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(*(short *)(psVar16 + 0x88) != 0)" ( (binary_expression "*(short *)(psVar16 + 0x88) != 0" (pointer_expression "*(short *)(psVar16 + 0x88)" * (cast_expression "(short *)(psVar16 + 0x88)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x88)" ( (binary_expression "psVar16 + 0x88" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                            in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                            local_94 = 1;\n                            do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );\n                            if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }\n                          }" { (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)0x0;" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)0x0" identifier = (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = 1;" (assignment_expression "local_94 = 1" identifier = number_literal) ;) (do_statement "do {\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            } while ((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    );" do (compound_statement "{\n                              bVar5 = *(byte *)local_c4;\n                              if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }\nLAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;\n                              local_c4 = (char **)((int)local_c4 + local_cc);\n                            }" { (expression_statement "bVar5 = *(byte *)local_c4;" (assignment_expression "bVar5 = *(byte *)local_c4" identifier = (pointer_expression "*(byte *)local_c4" * (cast_expression "(byte *)local_c4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (bVar5 == 0) {\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }\n                              else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }" if (parenthesized_expression "(bVar5 == 0)" ( (binary_expression "bVar5 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }\n                                local_cc = rc_1 + iVar10;\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar22 = *(int *)(psVar16 + 0x74);\n                                if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                uVar19 = local_cc;\n                                if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }\nLAB_0014e900:\n                                iVar10 = n;\n                                if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }\n                              }" { (labeled_statement "LAB_0014e690:\n                                if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }" statement_identifier : (if_statement "if ((char)*(byte *)((int)local_c4 + 1) < '\0') {\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }\n                                else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }" if (parenthesized_expression "((char)*(byte *)((int)local_c4 + 1) < '\0')" ( (binary_expression "(char)*(byte *)((int)local_c4 + 1) < '\0'" (cast_expression "(char)*(byte *)((int)local_c4 + 1)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)local_c4 + 1)" * (cast_expression "(byte *)((int)local_c4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c4 + 1)" ( (binary_expression "(int)local_c4 + 1" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                                  bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);\n                                  iVar10 = bVar4 + 1;\n                                }" { (expression_statement "bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1);" (assignment_expression "bVar4 = sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1)" identifier = (call_expression "sqlite3GetVarint32((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1)" identifier (argument_list "((byte *)((int)local_c4 + 1),\n                                                             (u32 *)&rc_1)" ( (cast_expression "(byte *)((int)local_c4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c4 + 1)" ( (binary_expression "(int)local_c4 + 1" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (cast_expression "(u32 *)&rc_1" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&rc_1" & identifier)) )))) ;) (expression_statement "iVar10 = bVar4 + 1;" (assignment_expression "iVar10 = bVar4 + 1" identifier = (binary_expression "bVar4 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }" else (compound_statement "{\n                                  iVar10 = 2;\n                                  rc_1 = (uint)*(byte *)((int)local_c4 + 1);\n                                }" { (expression_statement "iVar10 = 2;" (assignment_expression "iVar10 = 2" identifier = number_literal) ;) (expression_statement "rc_1 = (uint)*(byte *)((int)local_c4 + 1);" (assignment_expression "rc_1 = (uint)*(byte *)((int)local_c4 + 1)" identifier = (binary_expression "(uint)*(byte *)((int)local_c4 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)local_c4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c4 + 1)" ( (binary_expression "(int)local_c4 + 1" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) })))) (expression_statement "local_cc = rc_1 + iVar10;" (assignment_expression "local_cc = rc_1 + iVar10" identifier = (binary_expression "rc_1 + iVar10" identifier + identifier)) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" if (parenthesized_expression "(psVar12->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "psVar12->mutex != (sqlite3_mutex *)0x0" (field_expression "psVar12->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(psVar12->mutex)" ( (field_expression "psVar12->mutex" identifier -> field_identifier) ))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "iVar22 = *(int *)(psVar16 + 0x74);" (assignment_expression "iVar22 = *(int *)(psVar16 + 0x74)" identifier = (pointer_expression "*(int *)(psVar16 + 0x74)" * (cast_expression "(int *)(psVar16 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x74)" ( (binary_expression "psVar16 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if ((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }" if (parenthesized_expression "((iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   ))" ( (binary_expression "(iVar22 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )" (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )" ( (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24" (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(psVar16 + 0x88)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x88)" ( (binary_expression "psVar16 + 0x88" identifier + number_literal) )))) <= (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar22);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" { (expression_statement "psVar12->errCode = 0x19;" (assignment_expression "psVar12->errCode = 0x19" (field_expression "psVar12->errCode" identifier -> field_identifier) = number_literal) ;) (expression_statement "bVar4 = 5;" (assignment_expression "bVar4 = 5" identifier = number_literal) ;) (expression_statement "sqlite3ErrorFinish(psVar12,iVar22);" (call_expression "sqlite3ErrorFinish(psVar12,iVar22)" identifier (argument_list "(psVar12,iVar22)" ( identifier , identifier ))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }" else (compound_statement "{\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }" { (expression_statement "bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));" (assignment_expression "bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" identifier = (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" * (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f)" ( (binary_expression "*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f" (pointer_expression "*(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28)" * (cast_expression "(ushort *)\n                                                     (iVar22 + 8 + (int)in_stack_ffffff24 * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 8 + (int)in_stack_ffffff24 * 0x28)" ( (binary_expression "iVar22 + 8 + (int)in_stack_ffffff24 * 0x28" (binary_expression "iVar22 + 8" identifier + number_literal) + (binary_expression "(int)in_stack_ffffff24 * 0x28" (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" if (parenthesized_expression "((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a))" ( (binary_expression "(psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)" (parenthesized_expression "(psVar12->mallocFailed == '\0')" ( (binary_expression "psVar12->mallocFailed == '\0'" (field_expression "psVar12->mallocFailed" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(uint *)(psVar16 + 0x28) != 0xc0a)" ( (binary_expression "*(uint *)(psVar16 + 0x28) != 0xc0a" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                                  uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                }" { (expression_statement "uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;" (assignment_expression "uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask" identifier = (binary_expression "*(uint *)(psVar16 + 0x28) & psVar12->errMask" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) & (field_expression "psVar12->errMask" identifier -> field_identifier))) ;) }) (else_clause "else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" else (compound_statement "{\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" { (expression_statement "uVar19 = apiOomError(psVar12);" (assignment_expression "uVar19 = apiOomError(psVar12)" identifier = (call_expression "apiOomError(psVar12)" identifier (argument_list "(psVar12)" ( identifier )))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "*(uint *)(psVar16 + 0x28) = uVar19;" (assignment_expression "*(uint *)(psVar16 + 0x28) = uVar19" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) = identifier) ;) (if_statement "if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }" if (parenthesized_expression "(psVar12->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "psVar12->mutex != (sqlite3_mutex *)0x0" (field_expression "psVar12->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(psVar12->mutex)" ( (field_expression "psVar12->mutex" identifier -> field_identifier) ))) ;) })) (expression_statement "uVar19 = local_cc;" (assignment_expression "uVar19 = local_cc" identifier = identifier) ;) (if_statement "if (bVar5 == bVar4) {\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }" if (parenthesized_expression "(bVar5 == bVar4)" ( (binary_expression "bVar5 == bVar4" identifier == identifier) )) (compound_statement "{\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  iVar15 = sqlite3ValueBytes(pMVar14,enc);\n                                  columnMallocFailure(psVar16);\n                                  iVar22 = rc_1;\n                                  if (rc_1 != iVar15) goto LAB_0014e743;\n                                  if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;\n                                }" { (expression_statement "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);" (assignment_expression "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier = (call_expression "columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier (argument_list "(in_stack_ffffff24,(int)in_stack_ffffff28)" ( identifier , (cast_expression "(int)in_stack_ffffff28" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "iVar15 = sqlite3ValueBytes(pMVar14,enc);" (assignment_expression "iVar15 = sqlite3ValueBytes(pMVar14,enc)" identifier = (call_expression "sqlite3ValueBytes(pMVar14,enc)" identifier (argument_list "(pMVar14,enc)" ( identifier , identifier )))) ;) (expression_statement "columnMallocFailure(psVar16);" (call_expression "columnMallocFailure(psVar16)" identifier (argument_list "(psVar16)" ( identifier ))) ;) (expression_statement "iVar22 = rc_1;" (assignment_expression "iVar22 = rc_1" identifier = identifier) ;) (if_statement "if (rc_1 != iVar15) goto LAB_0014e743;" if (parenthesized_expression "(rc_1 != iVar15)" ( (binary_expression "rc_1 != iVar15" identifier != identifier) )) (goto_statement "goto LAB_0014e743;" goto statement_identifier ;)) (if_statement "if (rc_1 != 0) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }" if (parenthesized_expression "(rc_1 != 0)" ( (binary_expression "rc_1 != 0" identifier != number_literal) )) (compound_statement "{\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    pRc = (char **)sqlite3_value_blob(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);\n                                    if (iVar10 != 0) goto LAB_0014e743;\n                                  }" { (expression_statement "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);" (assignment_expression "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier = (call_expression "columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier (argument_list "(in_stack_ffffff24,(int)in_stack_ffffff28)" ( identifier , (cast_expression "(int)in_stack_ffffff28" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "pRc = (char **)sqlite3_value_blob(pMVar14);" (assignment_expression "pRc = (char **)sqlite3_value_blob(pMVar14)" identifier = (cast_expression "(char **)sqlite3_value_blob(pMVar14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "sqlite3_value_blob(pMVar14)" identifier (argument_list "(pMVar14)" ( identifier ))))) ;) (expression_statement "columnMallocFailure(psVar16);" (call_expression "columnMallocFailure(psVar16)" identifier (argument_list "(psVar16)" ( identifier ))) ;) (expression_statement "iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22);" (assignment_expression "iVar10 = memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22)" identifier = (call_expression "memcmp((byte *)(iVar10 + (int)local_c4),pRc,iVar22)" identifier (argument_list "((byte *)(iVar10 + (int)local_c4),pRc,iVar22)" ( (cast_expression "(byte *)(iVar10 + (int)local_c4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + (int)local_c4)" ( (binary_expression "iVar10 + (int)local_c4" identifier + (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , identifier )))) ;) (if_statement "if (iVar10 != 0) goto LAB_0014e743;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e743;" goto statement_identifier ;)) })) (expression_statement "puVar21 = puVar24 + (int)in_stack_ffffff24;" (assignment_expression "puVar21 = puVar24 + (int)in_stack_ffffff24" identifier = (binary_expression "puVar24 + (int)in_stack_ffffff24" identifier + (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar8 != 0) goto LAB_0014e9cb;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e9cb;" goto statement_identifier ;)) (if_statement "if (puVar24[(int)in_stack_ffffff24] == '\0') {\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }\n                                  else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;" if (parenthesized_expression "(puVar24[(int)in_stack_ffffff24] == '\0')" ( (binary_expression "puVar24[(int)in_stack_ffffff24] == '\0'" (subscript_expression "puVar24[(int)in_stack_ffffff24]" identifier [ (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier) ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);\n                                    if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }\n                                  }" { (labeled_statement "LAB_0014e8c6:\n                                    iVar10 = sessionBufferGrow(&buf,1,&rc_2);" statement_identifier : (expression_statement "iVar10 = sessionBufferGrow(&buf,1,&rc_2);" (assignment_expression "iVar10 = sessionBufferGrow(&buf,1,&rc_2)" identifier = (call_expression "sessionBufferGrow(&buf,1,&rc_2)" identifier (argument_list "(&buf,1,&rc_2)" ( (pointer_expression "&buf" & identifier) , number_literal , (pointer_expression "&rc_2" & identifier) )))) ;)) (if_statement "if (iVar10 == 0) {\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                                      buf.aBuf[buf.nBuf] = '\0';\n                                      buf.nBuf = buf.nBuf + 1;\n                                    }" { (expression_statement "buf.aBuf[buf.nBuf] = '\0';" (assignment_expression "buf.aBuf[buf.nBuf] = '\0'" (subscript_expression "buf.aBuf[buf.nBuf]" (field_expression "buf.aBuf" identifier . field_identifier) [ (field_expression "buf.nBuf" identifier . field_identifier) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf.nBuf = buf.nBuf + 1;" (assignment_expression "buf.nBuf = buf.nBuf + 1" (field_expression "buf.nBuf" identifier . field_identifier) = (binary_expression "buf.nBuf + 1" (field_expression "buf.nBuf" identifier . field_identifier) + number_literal)) ;) })) }) (else_clause "else if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;" else (if_statement "if ((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))\n                                  goto LAB_0014eaca;" if (parenthesized_expression "((0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0))" ( (binary_expression "(0 < (int)local_cc) && (local_70 = rc_2, rc_2 == 0)" (parenthesized_expression "(0 < (int)local_cc)" ( (binary_expression "0 < (int)local_cc" number_literal < (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(local_70 = rc_2, rc_2 == 0)" ( (comma_expression "local_70 = rc_2, rc_2 == 0" (assignment_expression "local_70 = rc_2" identifier = identifier) , (binary_expression "rc_2 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;)))) }) (else_clause "else {\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }" else (compound_statement "{\nLAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_70 = 1;\nLAB_0014eaca:\n                                  puVar21 = buf.aBuf;\n                                  if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }\n                                }" { (labeled_statement "LAB_0014e743:\n                                  if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }" statement_identifier : (if_statement "if ((iVar8 != 0) || ((int)local_cc < 1)) {\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }" if (parenthesized_expression "((iVar8 != 0) || ((int)local_cc < 1))" ( (binary_expression "(iVar8 != 0) || ((int)local_cc < 1)" (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) || (parenthesized_expression "((int)local_cc < 1)" ( (binary_expression "(int)local_cc < 1" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (compound_statement "{\n                                    local_94 = 0;\n                                    goto LAB_0014e560;\n                                  }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) }))) (expression_statement "local_94 = rc_2;" (assignment_expression "local_94 = rc_2" identifier = identifier) ;) (if_statement "if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }" if (parenthesized_expression "(rc_2 != 0)" ( (binary_expression "rc_2 != 0" identifier != number_literal) )) (compound_statement "{\n                                    local_94 = 0;\n                                    goto LAB_0014e590;\n                                  }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) })) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0014eaca:\n                                  puVar21 = buf.aBuf;" statement_identifier : (expression_statement "puVar21 = buf.aBuf;" (assignment_expression "puVar21 = buf.aBuf" identifier = (field_expression "buf.aBuf" identifier . field_identifier)) ;)) (if_statement "if (buf.nAlloc - buf.nBuf < (int)uVar19) {\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }\n                                  else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }" if (parenthesized_expression "(buf.nAlloc - buf.nBuf < (int)uVar19)" ( (binary_expression "buf.nAlloc - buf.nBuf < (int)uVar19" (binary_expression "buf.nAlloc - buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) - (field_expression "buf.nBuf" identifier . field_identifier)) < (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                                    uVar17 = buf.nAlloc;\n                                    if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }\n                                    uVar23 = (int)uVar17 >> 0x1f;\n                                    do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);\n                                    iVar10 = sqlite3_initialize();\n                                    if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                    if (local_70 != 0) goto LAB_0014e590;\n                                  }" { (expression_statement "uVar17 = buf.nAlloc;" (assignment_expression "uVar17 = buf.nAlloc" identifier = (field_expression "buf.nAlloc" identifier . field_identifier)) ;) (if_statement "if (buf.nAlloc == 0) {\n                                      uVar17 = 0x80;\n                                    }" if (parenthesized_expression "(buf.nAlloc == 0)" ( (binary_expression "buf.nAlloc == 0" (field_expression "buf.nAlloc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                                      uVar17 = 0x80;\n                                    }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar23 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar23 = (int)uVar17 >> 0x1f" identifier = (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    } while ((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0);" do (compound_statement "{\n                                      uVar23 = uVar23 << 1 | uVar17 >> 0x1f;\n                                      uVar17 = uVar17 * 2;\n                                      iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);\n                                      uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);\n                                      iVar10 = iVar22 - ((int)uVar19 >> 0x1f);\n                                    }" { (expression_statement "uVar23 = uVar23 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar23 = uVar23 << 1 | uVar17 >> 0x1f" identifier = (binary_expression "uVar23 << 1 | uVar17 >> 0x1f" (binary_expression "uVar23 << 1" identifier << number_literal) | (binary_expression "uVar17 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" identifier = (binary_expression "uVar17 * 2" identifier * number_literal)) ;) (expression_statement "iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf);" (assignment_expression "iVar22 = (uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf)" identifier = (binary_expression "(uVar23 - (buf.nBuf >> 0x1f)) -\n                                               (uint)(uVar17 < (uint)buf.nBuf)" (parenthesized_expression "(uVar23 - (buf.nBuf >> 0x1f))" ( (binary_expression "uVar23 - (buf.nBuf >> 0x1f)" identifier - (parenthesized_expression "(buf.nBuf >> 0x1f)" ( (binary_expression "buf.nBuf >> 0x1f" (field_expression "buf.nBuf" identifier . field_identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar17 < (uint)buf.nBuf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < (uint)buf.nBuf)" ( (binary_expression "uVar17 < (uint)buf.nBuf" identifier < (cast_expression "(uint)buf.nBuf" ( (type_descriptor "uint" type_identifier) ) (field_expression "buf.nBuf" identifier . field_identifier))) ))))) ;) (expression_statement "uVar2 = (uint)(uVar17 - buf.nBuf < uVar19);" (assignment_expression "uVar2 = (uint)(uVar17 - buf.nBuf < uVar19)" identifier = (call_expression "(uint)(uVar17 - buf.nBuf < uVar19)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 - buf.nBuf < uVar19)" ( (binary_expression "uVar17 - buf.nBuf < uVar19" (binary_expression "uVar17 - buf.nBuf" identifier - (field_expression "buf.nBuf" identifier . field_identifier)) < identifier) )))) ;) (expression_statement "iVar10 = iVar22 - ((int)uVar19 >> 0x1f);" (assignment_expression "iVar10 = iVar22 - ((int)uVar19 >> 0x1f)" identifier = (binary_expression "iVar22 - ((int)uVar19 >> 0x1f)" identifier - (parenthesized_expression "((int)uVar19 >> 0x1f)" ( (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) while (parenthesized_expression "((SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0)" ( (binary_expression "(SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)) != (int)(iVar10 - uVar2) < 0" (parenthesized_expression "(SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2))" ( (binary_expression "SBORROW4(iVar22,(int)uVar19 >> 0x1f) !=\n                                             SBORROW4(iVar10,uVar2)" (call_expression "SBORROW4(iVar22,(int)uVar19 >> 0x1f)" identifier (argument_list "(iVar22,(int)uVar19 >> 0x1f)" ( identifier , (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) != (call_expression "SBORROW4(iVar10,uVar2)" identifier (argument_list "(iVar10,uVar2)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar10 - uVar2) < 0" (cast_expression "(int)(iVar10 - uVar2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar10 - uVar2)" ( (binary_expression "iVar10 - uVar2" identifier - identifier) ))) < number_literal)) )) ;) (expression_statement "iVar10 = sqlite3_initialize();" (assignment_expression "iVar10 = sqlite3_initialize()" identifier = (call_expression "sqlite3_initialize()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)) {\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }" if (parenthesized_expression "((iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0))" ( (binary_expression "(iVar10 == 0) &&\n                                       (puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) && (parenthesized_expression "(puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0)" ( (comma_expression "puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)),\n                                       puVar21 != (u8 *)0x0" (assignment_expression "puVar21 = (u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24))" identifier = (cast_expression "(u8 *)sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24))" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Realloc(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24))" identifier (argument_list "(puVar21,CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(\n                                                  in_stack_ffffff28,in_stack_ffffff24)" identifier (argument_list "(\n                                                  in_stack_ffffff28,in_stack_ffffff24)" ( identifier , identifier ))) ))))) , (binary_expression "puVar21 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                                      buf.aBuf = puVar21;\n                                      buf.nAlloc = uVar17;\n                                      if (rc_2 == 0) goto LAB_0014eb76;\n                                    }" { (expression_statement "buf.aBuf = puVar21;" (assignment_expression "buf.aBuf = puVar21" (field_expression "buf.aBuf" identifier . field_identifier) = identifier) ;) (expression_statement "buf.nAlloc = uVar17;" (assignment_expression "buf.nAlloc = uVar17" (field_expression "buf.nAlloc" identifier . field_identifier) = identifier) ;) (if_statement "if (rc_2 == 0) goto LAB_0014eb76;" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014eb76;" goto statement_identifier ;)) }) (else_clause "else {\n                                      rc_2 = 7;\n                                    }" else (compound_statement "{\n                                      rc_2 = 7;\n                                    }" { (expression_statement "rc_2 = 7;" (assignment_expression "rc_2 = 7" identifier = number_literal) ;) }))) (if_statement "if (local_70 != 0) goto LAB_0014e590;" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }" else (compound_statement "{\nLAB_0014eb76:\n                                    pRc = local_c4;\n                                    memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);\n                                    buf.nBuf = buf.nBuf + uVar19;\n                                    if (local_70 != 0) goto LAB_0014e560;\n                                  }" { (labeled_statement "LAB_0014eb76:\n                                    pRc = local_c4;" statement_identifier : (expression_statement "pRc = local_c4;" (assignment_expression "pRc = local_c4" identifier = identifier) ;)) (expression_statement "memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc);" (call_expression "memcpy(buf.aBuf + buf.nBuf,local_c4,local_cc)" identifier (argument_list "(buf.aBuf + buf.nBuf,local_c4,local_cc)" ( (binary_expression "buf.aBuf + buf.nBuf" (field_expression "buf.aBuf" identifier . field_identifier) + (field_expression "buf.nBuf" identifier . field_identifier)) , identifier , identifier ))) ;) (expression_statement "buf.nBuf = buf.nBuf + uVar19;" (assignment_expression "buf.nBuf = buf.nBuf + uVar19" (field_expression "buf.nBuf" identifier . field_identifier) = (binary_expression "buf.nBuf + uVar19" (field_expression "buf.nBuf" identifier . field_identifier) + identifier)) ;) (if_statement "if (local_70 != 0) goto LAB_0014e560;" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;)) }))) }))) (labeled_statement "LAB_0014e900:\n                                iVar10 = n;" statement_identifier : (expression_statement "iVar10 = n;" (assignment_expression "iVar10 = n" identifier = identifier) ;)) (if_statement "if (rc_2 == 0) {\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (compound_statement "{\n                                  if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }\n                                }" { (if_statement "if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }\n                                  else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }" if (parenthesized_expression "(local_24 == local_28 || (int)(local_24 - local_28) < 0)" ( (binary_expression "local_24 == local_28 || (int)(local_24 - local_28) < 0" (binary_expression "local_24 == local_28" identifier == identifier) || (binary_expression "(int)(local_24 - local_28) < 0" (cast_expression "(int)(local_24 - local_28)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_24 - local_28)" ( (binary_expression "local_24 - local_28" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                                    uVar19 = local_24;\n                                    if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }\n                                    uVar17 = (int)uVar19 >> 0x1f;\n                                    do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));\n                                    iVar22 = sqlite3_initialize();\n                                    if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }\n                                  }" { (expression_statement "uVar19 = local_24;" (assignment_expression "uVar19 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == 0) {\n                                      uVar19 = 0x80;\n                                    }" if (parenthesized_expression "(local_24 == 0)" ( (binary_expression "local_24 == 0" identifier == number_literal) )) (compound_statement "{\n                                      uVar19 = 0x80;\n                                    }" { (expression_statement "uVar19 = 0x80;" (assignment_expression "uVar19 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar19 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar19 >> 0x1f" identifier = (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    } while ((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)));" do (compound_statement "{\n                                      uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                                      uVar19 = uVar19 * 2;\n                                    }" { (expression_statement "uVar17 = uVar17 << 1 | uVar19 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar19 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar19 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar19 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar19 = uVar19 * 2;" (assignment_expression "uVar19 = uVar19 * 2" identifier = (binary_expression "uVar19 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)))" ( (binary_expression "(int)(uint)(uVar19 - local_28 != 0) <=\n                                             (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28))" (cast_expression "(int)(uint)(uVar19 - local_28 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar19 - local_28 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 - local_28 != 0)" ( (binary_expression "uVar19 - local_28 != 0" (binary_expression "uVar19 - local_28" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28))" - (parenthesized_expression "((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28))" ( (binary_expression "(uVar17 - ((int)local_28 >> 0x1f)) -\n                                                   (uint)(uVar19 < local_28)" (parenthesized_expression "(uVar17 - ((int)local_28 >> 0x1f))" ( (binary_expression "uVar17 - ((int)local_28 >> 0x1f)" identifier - (parenthesized_expression "((int)local_28 >> 0x1f)" ( (binary_expression "(int)local_28 >> 0x1f" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar19 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < local_28)" ( (binary_expression "uVar19 < local_28" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar22 = sqlite3_initialize();" (assignment_expression "iVar22 = sqlite3_initialize()" identifier = (call_expression "sqlite3_initialize()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)) {\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }\n                                    else {\n                                      rc_2 = 7;\n                                    }" if (parenthesized_expression "((iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0))" ( (binary_expression "(iVar22 == 0) &&\n                                       (pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)" (parenthesized_expression "(iVar22 == 0)" ( (binary_expression "iVar22 == 0" identifier == number_literal) )) && (parenthesized_expression "(pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0)" ( (comma_expression "pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)),\n                                       pvVar29 != (void *)0x0" (assignment_expression "pvVar29 = sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24))" identifier = (call_expression "sqlite3Realloc((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24))" identifier (argument_list "((void *)iVar10,\n                                                                 CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24))" ( (cast_expression "(void *)iVar10" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (call_expression "CONCAT44(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)" identifier (argument_list "(in_stack_ffffff28,\n                                                                          in_stack_ffffff24)" ( identifier , identifier ))) )))) , (binary_expression "pvVar29 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                                      n = (int)pvVar29;\n                                      local_24 = uVar19;\n                                      if (rc_2 == 0) goto LAB_0014e9b4;\n                                    }" { (expression_statement "n = (int)pvVar29;" (assignment_expression "n = (int)pvVar29" identifier = (cast_expression "(int)pvVar29" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "local_24 = uVar19;" (assignment_expression "local_24 = uVar19" identifier = identifier) ;) (if_statement "if (rc_2 == 0) goto LAB_0014e9b4;" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014e9b4;" goto statement_identifier ;)) }) (else_clause "else {\n                                      rc_2 = 7;\n                                    }" else (compound_statement "{\n                                      rc_2 = 7;\n                                    }" { (expression_statement "rc_2 = 7;" (assignment_expression "rc_2 = 7" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }" else (compound_statement "{\nLAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;\n                                    local_28 = local_28 + 1;\n                                  }" { (labeled_statement "LAB_0014e9b4:\n                                    *(undefined1 *)(n + local_28) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(n + local_28) = 0;" (assignment_expression "*(undefined1 *)(n + local_28) = 0" (pointer_expression "*(undefined1 *)(n + local_28)" * (cast_expression "(undefined1 *)(n + local_28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(n + local_28)" ( (binary_expression "n + local_28" identifier + identifier) )))) = number_literal) ;)) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }))) })) }) (else_clause "else {\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }" else (compound_statement "{\n                                if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }\n                                psVar12 = *(sqlite3 **)psVar16;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                iVar10 = *(int *)(psVar16 + 0x74);\n                                if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }\n                                if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                *(uint *)(psVar16 + 0x28) = uVar19;\n                                if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }\n                                if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }\n                              }" { (if_statement "if (2 < bVar5) {\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }" if (parenthesized_expression "(2 < bVar5)" ( (binary_expression "2 < bVar5" number_literal < identifier) )) (compound_statement "{\n                                  if (bVar5 != 5) goto LAB_0014e690;\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  iVar10 = *(int *)(psVar16 + 0x74);\n                                  if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }\n                                  if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }\n                                  *(uint *)(psVar16 + 0x28) = uVar19;\n                                  if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }\n                                  if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }\n                                  if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }\n                                  local_94 = rc_2;\n                                  if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_cc = 1;\n                                  local_70 = 1;\n                                  uVar19 = 1;\n                                  goto LAB_0014eaca;\n                                }" { (if_statement "if (bVar5 != 5) goto LAB_0014e690;" if (parenthesized_expression "(bVar5 != 5)" ( (binary_expression "bVar5 != 5" identifier != number_literal) )) (goto_statement "goto LAB_0014e690;" goto statement_identifier ;)) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }" if (parenthesized_expression "(psVar12->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "psVar12->mutex != (sqlite3_mutex *)0x0" (field_expression "psVar12->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                    (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(psVar12->mutex)" ( (field_expression "psVar12->mutex" identifier -> field_identifier) ))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "iVar10 = *(int *)(psVar16 + 0x74);" (assignment_expression "iVar10 = *(int *)(psVar16 + 0x74)" identifier = (pointer_expression "*(int *)(psVar16 + 0x74)" * (cast_expression "(int *)(psVar16 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x74)" ( (binary_expression "psVar16 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if ((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)) {\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }\n                                  else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }" if (parenthesized_expression "((iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24))" ( (binary_expression "(iVar10 == 0) ||\n                                     ((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24)" ( (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88) <=\n                                      (int)in_stack_ffffff24" (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(psVar16 + 0x88)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x88)" ( (binary_expression "psVar16 + 0x88" identifier + number_literal) )))) <= (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                    psVar12->errCode = 0x19;\n                                    sqlite3ErrorFinish(psVar12,iVar10);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                    cVar18 = '\x05';\n                                  }" { (expression_statement "psVar12->errCode = 0x19;" (assignment_expression "psVar12->errCode = 0x19" (field_expression "psVar12->errCode" identifier -> field_identifier) = number_literal) ;) (expression_statement "sqlite3ErrorFinish(psVar12,iVar10);" (call_expression "sqlite3ErrorFinish(psVar12,iVar10)" identifier (argument_list "(psVar12,iVar10)" ( identifier , identifier ))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar18 = '\x05';" (assignment_expression "cVar18 = '\x05'" identifier = (char_literal "'\x05'" ' escape_sequence ')) ;) }) (else_clause "else {\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }" else (compound_statement "{\n                                    cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));\n                                  }" { (expression_statement "cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f));" (assignment_expression "cVar18 = *(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f))" identifier = (pointer_expression "*(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f))" * (cast_expression "(char *)(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                      (*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f)" ( (binary_expression "*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)\n                                                      & 0x1f" (pointer_expression "*(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)" * (cast_expression "(ushort *)\n                                                        (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)" ( (binary_expression "iVar10 + 8 + (int)in_stack_ffffff24 * 0x28" (binary_expression "iVar10 + 8" identifier + number_literal) + (binary_expression "(int)in_stack_ffffff24 * 0x28" (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }\n                                  else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }" if (parenthesized_expression "((psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a))" ( (binary_expression "(psVar12->mallocFailed == '\0') &&\n                                     (*(uint *)(psVar16 + 0x28) != 0xc0a)" (parenthesized_expression "(psVar12->mallocFailed == '\0')" ( (binary_expression "psVar12->mallocFailed == '\0'" (field_expression "psVar12->mallocFailed" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(uint *)(psVar16 + 0x28) != 0xc0a)" ( (binary_expression "*(uint *)(psVar16 + 0x28) != 0xc0a" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                                    uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;\n                                  }" { (expression_statement "uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask;" (assignment_expression "uVar19 = *(uint *)(psVar16 + 0x28) & psVar12->errMask" identifier = (binary_expression "*(uint *)(psVar16 + 0x28) & psVar12->errMask" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) & (field_expression "psVar12->errMask" identifier -> field_identifier))) ;) }) (else_clause "else {\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }" else (compound_statement "{\n                                    uVar19 = apiOomError(psVar12);\n                                    psVar12 = *(sqlite3 **)psVar16;\n                                  }" { (expression_statement "uVar19 = apiOomError(psVar12);" (assignment_expression "uVar19 = apiOomError(psVar12)" identifier = (call_expression "apiOomError(psVar12)" identifier (argument_list "(psVar12)" ( identifier )))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "*(uint *)(psVar16 + 0x28) = uVar19;" (assignment_expression "*(uint *)(psVar16 + 0x28) = uVar19" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) = identifier) ;) (if_statement "if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }" if (parenthesized_expression "(psVar12->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "psVar12->mutex != (sqlite3_mutex *)0x0" (field_expression "psVar12->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                    (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(psVar12->mutex)" ( (field_expression "psVar12->mutex" identifier -> field_identifier) ))) ;) })) (if_statement "if (cVar18 == '\x05') {\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }" if (parenthesized_expression "(cVar18 == '\x05')" ( (binary_expression "cVar18 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n                                    local_cc = 1;\n                                    puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                    if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }\nLAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;\n                                    goto LAB_0014e560;\n                                  }" { (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (expression_statement "puVar21 = puVar24 + (int)in_stack_ffffff24;" (assignment_expression "puVar21 = puVar24 + (int)in_stack_ffffff24" identifier = (binary_expression "puVar24 + (int)in_stack_ffffff24" identifier + (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar8 == 0) {\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                                      uVar19 = 1;\n                                      goto LAB_0014e8bd;\n                                    }" { (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e8bd;" goto statement_identifier ;) })) (labeled_statement "LAB_0014e9cb:\n                                    if (*puVar21 == '\0') goto LAB_0014e900;" statement_identifier : (if_statement "if (*puVar21 == '\0') goto LAB_0014e900;" if (parenthesized_expression "(*puVar21 == '\0')" ( (binary_expression "*puVar21 == '\0'" (pointer_expression "*puVar21" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0014e900;" goto statement_identifier ;))) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) })) (if_statement "if (iVar8 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e560;\n                                  }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) })) (expression_statement "local_94 = rc_2;" (assignment_expression "local_94 = rc_2" identifier = identifier) ;) (if_statement "if (rc_2 != 0) {\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }" if (parenthesized_expression "(rc_2 != 0)" ( (binary_expression "rc_2 != 0" identifier != number_literal) )) (compound_statement "{\n                                    local_94 = 0;\n                                    local_cc = 1;\n                                    goto LAB_0014e590;\n                                  }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) })) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;) })) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" if (parenthesized_expression "(psVar12->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "psVar12->mutex != (sqlite3_mutex *)0x0" (field_expression "psVar12->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(psVar12->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(psVar12->mutex)" ( (field_expression "psVar12->mutex" identifier -> field_identifier) ))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "iVar10 = *(int *)(psVar16 + 0x74);" (assignment_expression "iVar10 = *(int *)(psVar16 + 0x74)" identifier = (pointer_expression "*(int *)(psVar16 + 0x74)" * (cast_expression "(int *)(psVar16 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x74)" ( (binary_expression "psVar16 + 0x74" identifier + number_literal) ))))) ;) (if_statement "if ((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )) {\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }\n                                else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }" if (parenthesized_expression "((iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   ))" ( (binary_expression "(iVar10 == 0) ||\n                                   ((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24\n                                   )" ( (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88) <= (int)in_stack_ffffff24" (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(psVar16 + 0x88)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x88)" ( (binary_expression "psVar16 + 0x88" identifier + number_literal) )))) <= (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                  psVar12->errCode = 0x19;\n                                  bVar4 = 5;\n                                  sqlite3ErrorFinish(psVar12,iVar10);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" { (expression_statement "psVar12->errCode = 0x19;" (assignment_expression "psVar12->errCode = 0x19" (field_expression "psVar12->errCode" identifier -> field_identifier) = number_literal) ;) (expression_statement "bVar4 = 5;" (assignment_expression "bVar4 = 5" identifier = number_literal) ;) (expression_statement "sqlite3ErrorFinish(psVar12,iVar10);" (call_expression "sqlite3ErrorFinish(psVar12,iVar10)" identifier (argument_list "(psVar12,iVar10)" ( identifier , identifier ))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }) (else_clause "else {\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }" else (compound_statement "{\n                                  bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));\n                                }" { (expression_statement "bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f));" (assignment_expression "bVar4 = *(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" identifier = (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" * (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                   (*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f)" ( (binary_expression "*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28) &\n                                                   0x1f" (pointer_expression "*(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)" * (cast_expression "(ushort *)\n                                                     (iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + 8 + (int)in_stack_ffffff24 * 0x28)" ( (binary_expression "iVar10 + 8 + (int)in_stack_ffffff24 * 0x28" (binary_expression "iVar10 + 8" identifier + number_literal) + (binary_expression "(int)in_stack_ffffff24 * 0x28" (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)) {\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }\n                                else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" if (parenthesized_expression "((psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a))" ( (binary_expression "(psVar12->mallocFailed == '\0') &&\n                                   (*(uint *)(psVar16 + 0x28) != 0xc0a)" (parenthesized_expression "(psVar12->mallocFailed == '\0')" ( (binary_expression "psVar12->mallocFailed == '\0'" (field_expression "psVar12->mallocFailed" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(uint *)(psVar16 + 0x28) != 0xc0a)" ( (binary_expression "*(uint *)(psVar16 + 0x28) != 0xc0a" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n                                  uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);\n                                }" { (expression_statement "uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28);" (assignment_expression "uVar19 = psVar12->errMask & *(uint *)(psVar16 + 0x28)" identifier = (binary_expression "psVar12->errMask & *(uint *)(psVar16 + 0x28)" (field_expression "psVar12->errMask" identifier -> field_identifier) & (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" else (compound_statement "{\n                                  uVar19 = apiOomError(psVar12);\n                                  psVar12 = *(sqlite3 **)psVar16;\n                                }" { (expression_statement "uVar19 = apiOomError(psVar12);" (assignment_expression "uVar19 = apiOomError(psVar12)" identifier = (call_expression "apiOomError(psVar12)" identifier (argument_list "(psVar12)" ( identifier )))) ;) (expression_statement "psVar12 = *(sqlite3 **)psVar16;" (assignment_expression "psVar12 = *(sqlite3 **)psVar16" identifier = (pointer_expression "*(sqlite3 **)psVar16" * (cast_expression "(sqlite3 **)psVar16" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) }))) (expression_statement "*(uint *)(psVar16 + 0x28) = uVar19;" (assignment_expression "*(uint *)(psVar16 + 0x28) = uVar19" (pointer_expression "*(uint *)(psVar16 + 0x28)" * (cast_expression "(uint *)(psVar16 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x28)" ( (binary_expression "psVar16 + 0x28" identifier + number_literal) )))) = identifier) ;) (if_statement "if (psVar12->mutex != (sqlite3_mutex *)0x0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }" if (parenthesized_expression "(psVar12->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "psVar12->mutex != (sqlite3_mutex *)0x0" (field_expression "psVar12->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(psVar12->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(psVar12->mutex)" ( (field_expression "psVar12->mutex" identifier -> field_identifier) ))) ;) })) (if_statement "if (bVar5 == bVar4) {\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }\n                                else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }" if (parenthesized_expression "(bVar5 == bVar4)" ( (binary_expression "bVar5 == bVar4" identifier == identifier) )) (compound_statement "{\n                                  uVar19 = *(uint *)((int)local_c4 + 1);\n                                  uVar17 = *(uint *)((int)local_c4 + 5);\n                                  ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);\n                                  uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                  if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }\n                                  rc_1 = uVar19;\n                                  local_40 = ppcVar13;\n                                  pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                  dVar28 = sqlite3VdbeRealValue(pMVar14);\n                                  columnMallocFailure(psVar16);\n                                  if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;\nLAB_0014e89a:\n                                  local_cc = 9;\n                                  puVar21 = puVar24 + (int)in_stack_ffffff24;\n                                  if (iVar8 != 0) goto LAB_0014e9cb;\n                                  uVar19 = 9;\nLAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;\n                                  local_70 = rc_2;\n                                  if (rc_2 == 0) goto LAB_0014eaca;\n                                }" { (expression_statement "uVar19 = *(uint *)((int)local_c4 + 1);" (assignment_expression "uVar19 = *(uint *)((int)local_c4 + 1)" identifier = (pointer_expression "*(uint *)((int)local_c4 + 1)" * (cast_expression "(uint *)((int)local_c4 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c4 + 1)" ( (binary_expression "(int)local_c4 + 1" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(uint *)((int)local_c4 + 5);" (assignment_expression "uVar17 = *(uint *)((int)local_c4 + 5)" identifier = (pointer_expression "*(uint *)((int)local_c4 + 5)" * (cast_expression "(uint *)((int)local_c4 + 5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_c4 + 5)" ( (binary_expression "(int)local_c4 + 5" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18);" (assignment_expression "ppcVar13 = (char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18)" identifier = (cast_expression "(char **)(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18)" ( (binary_expression "uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8 | uVar19 << 0x18" (binary_expression "uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8 |\n                                                       (uVar19 & 0xff00) << 8" (binary_expression "uVar19 >> 0x18 | (uVar19 & 0xff0000) >> 8" (binary_expression "uVar19 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar19 & 0xff0000) >> 8" (parenthesized_expression "(uVar19 & 0xff0000)" ( (binary_expression "uVar19 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar19 & 0xff00) << 8" (parenthesized_expression "(uVar19 & 0xff00)" ( (binary_expression "uVar19 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar19 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar19 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18" identifier = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                           (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (bVar5 == 1) {\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }" if (parenthesized_expression "(bVar5 == 1)" ( (binary_expression "bVar5 == 1" identifier == number_literal) )) (compound_statement "{\n                                    pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);\n                                    iVar27 = sqlite3VdbeIntValue(pMVar14);\n                                    columnMallocFailure(psVar16);\n                                    if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;\n                                    goto LAB_0014e65d;\n                                  }" { (expression_statement "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);" (assignment_expression "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier = (call_expression "columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier (argument_list "(in_stack_ffffff24,(int)in_stack_ffffff28)" ( identifier , (cast_expression "(int)in_stack_ffffff28" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "iVar27 = sqlite3VdbeIntValue(pMVar14);" (assignment_expression "iVar27 = sqlite3VdbeIntValue(pMVar14)" identifier = (call_expression "sqlite3VdbeIntValue(pMVar14)" identifier (argument_list "(pMVar14)" ( identifier )))) ;) (expression_statement "columnMallocFailure(psVar16);" (call_expression "columnMallocFailure(psVar16)" identifier (argument_list "(psVar16)" ( identifier ))) ;) (if_statement "if (iVar27 == CONCAT44(ppcVar13,uVar19)) goto LAB_0014e89a;" if (parenthesized_expression "(iVar27 == CONCAT44(ppcVar13,uVar19))" ( (binary_expression "iVar27 == CONCAT44(ppcVar13,uVar19)" identifier == (call_expression "CONCAT44(ppcVar13,uVar19)" identifier (argument_list "(ppcVar13,uVar19)" ( identifier , identifier )))) )) (goto_statement "goto LAB_0014e89a;" goto statement_identifier ;)) (goto_statement "goto LAB_0014e65d;" goto statement_identifier ;) })) (expression_statement "rc_1 = uVar19;" (assignment_expression "rc_1 = uVar19" identifier = identifier) ;) (expression_statement "local_40 = ppcVar13;" (assignment_expression "local_40 = ppcVar13" identifier = identifier) ;) (expression_statement "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28);" (assignment_expression "pMVar14 = columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier = (call_expression "columnMem(in_stack_ffffff24,(int)in_stack_ffffff28)" identifier (argument_list "(in_stack_ffffff24,(int)in_stack_ffffff28)" ( identifier , (cast_expression "(int)in_stack_ffffff28" ( (type_descriptor "int" primitive_type) ) identifier) )))) ;) (expression_statement "dVar28 = sqlite3VdbeRealValue(pMVar14);" (assignment_expression "dVar28 = sqlite3VdbeRealValue(pMVar14)" identifier = (call_expression "sqlite3VdbeRealValue(pMVar14)" identifier (argument_list "(pMVar14)" ( identifier )))) ;) (expression_statement "columnMallocFailure(psVar16);" (call_expression "columnMallocFailure(psVar16)" identifier (argument_list "(psVar16)" ( identifier ))) ;) (if_statement "if (dVar28 != (double)CONCAT44(ppcVar13,uVar19))\n                                  goto LAB_0014e65d;" if (parenthesized_expression "(dVar28 != (double)CONCAT44(ppcVar13,uVar19))" ( (binary_expression "dVar28 != (double)CONCAT44(ppcVar13,uVar19)" identifier != (cast_expression "(double)CONCAT44(ppcVar13,uVar19)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(ppcVar13,uVar19)" identifier (argument_list "(ppcVar13,uVar19)" ( identifier , identifier ))))) )) (goto_statement "goto LAB_0014e65d;" goto statement_identifier ;)) (labeled_statement "LAB_0014e89a:\n                                  local_cc = 9;" statement_identifier : (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;)) (expression_statement "puVar21 = puVar24 + (int)in_stack_ffffff24;" (assignment_expression "puVar21 = puVar24 + (int)in_stack_ffffff24" identifier = (binary_expression "puVar24 + (int)in_stack_ffffff24" identifier + (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (iVar8 != 0) goto LAB_0014e9cb;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e9cb;" goto statement_identifier ;)) (expression_statement "uVar19 = 9;" (assignment_expression "uVar19 = 9" identifier = number_literal) ;) (labeled_statement "LAB_0014e8bd:\n                                  if (*puVar21 == '\0') goto LAB_0014e8c6;" statement_identifier : (if_statement "if (*puVar21 == '\0') goto LAB_0014e8c6;" if (parenthesized_expression "(*puVar21 == '\0')" ( (binary_expression "*puVar21 == '\0'" (pointer_expression "*puVar21" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0014e8c6;" goto statement_identifier ;))) (expression_statement "local_70 = rc_2;" (assignment_expression "local_70 = rc_2" identifier = identifier) ;) (if_statement "if (rc_2 == 0) goto LAB_0014eaca;" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }" else (compound_statement "{\nLAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\nLAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }\n                                }" { (labeled_statement "LAB_0014e65d:\n                                  if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }" statement_identifier : (if_statement "if (iVar8 == 0) {\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                                    local_94 = rc_2;\n                                    if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }\n                                    local_94 = 0;\n                                    local_cc = 9;\n                                    goto LAB_0014e590;\n                                  }" { (expression_statement "local_94 = rc_2;" (assignment_expression "local_94 = rc_2" identifier = identifier) ;) (if_statement "if (rc_2 == 0) {\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (compound_statement "{\n                                      local_cc = 9;\n                                      local_70 = 1;\n                                      uVar19 = 9;\n                                      goto LAB_0014eaca;\n                                    }" { (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "uVar19 = 9;" (assignment_expression "uVar19 = 9" identifier = number_literal) ;) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;) })) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) }))) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (labeled_statement "LAB_0014e560:\n                                  if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }" statement_identifier : (if_statement "if (rc_2 == 0) {\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }" if (parenthesized_expression "(rc_2 == 0)" ( (binary_expression "rc_2 == 0" identifier == number_literal) )) (compound_statement "{\n                                    sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);\n                                  }" { (expression_statement "sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc);" (call_expression "sessionAppendCol((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc)" identifier (argument_list "((SessionBuffer *)&n,psVar16,(int)&rc_2,\n                                                     (int *)pRc)" ( (cast_expression "(SessionBuffer *)&n" ( (type_descriptor "SessionBuffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&n" & identifier)) , identifier , (cast_expression "(int)&rc_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&rc_2" & identifier)) , (cast_expression "(int *)pRc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) }))) }))) }))) (labeled_statement "LAB_0014e590:\n                              in_stack_ffffff24 = in_stack_ffffff24 + 1;" statement_identifier : (expression_statement "in_stack_ffffff24 = in_stack_ffffff24 + 1;" (assignment_expression "in_stack_ffffff24 = in_stack_ffffff24 + 1" identifier = (binary_expression "in_stack_ffffff24 + 1" identifier + number_literal)) ;)) (expression_statement "local_c4 = (char **)((int)local_c4 + local_cc);" (assignment_expression "local_c4 = (char **)((int)local_c4 + local_cc)" identifier = (cast_expression "(char **)((int)local_c4 + local_cc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)local_c4 + local_cc)" ( (binary_expression "(int)local_c4 + local_cc" (cast_expression "(int)local_c4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)\n                                    )" ( (binary_expression "(int)in_stack_ffffff24 < (int)(uint)*(ushort *)(psVar16 + 0x88)" (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)(uint)*(ushort *)(psVar16 + 0x88)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(psVar16 + 0x88)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(psVar16 + 0x88)" ( (binary_expression "psVar16 + 0x88" identifier + number_literal) ))))) )) ;) (if_statement "if (local_94 == 0) {\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n                              sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);\n                              iVar30 = buf.nBuf;\n                            }" { (expression_statement "sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2);" (call_expression "sessionAppendBlob(&buf,(u8 *)n,local_28,&rc_2)" identifier (argument_list "(&buf,(u8 *)n,local_28,&rc_2)" ( (pointer_expression "&buf" & identifier) , (cast_expression "(u8 *)n" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&rc_2" & identifier) ))) ;) (expression_statement "iVar30 = buf.nBuf;" (assignment_expression "iVar30 = buf.nBuf" identifier = (field_expression "buf.nBuf" identifier . field_identifier)) ;) })) }))) (expression_statement "buf.nBuf = iVar30;" (assignment_expression "buf.nBuf = iVar30" (field_expression "buf.nBuf" identifier . field_identifier) = identifier) ;) (expression_statement "sqlite3_free((void *)n);" (call_expression "sqlite3_free((void *)n)" identifier (argument_list "((void *)n)" ( (cast_expression "(void *)n" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "rc = rc_2;" (assignment_expression "rc = rc_2" identifier = identifier) ;) }))) }) (else_clause "else if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }" else (if_statement "if (*local_b4 != 0x12) {\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }" if (parenthesized_expression "(*local_b4 != 0x12)" ( (binary_expression "*local_b4 != 0x12" (pointer_expression "*local_b4" * identifier) != number_literal) )) (compound_statement "{\n                        rc_1 = 0;\n                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }\nLAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];\n                        if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }\n                        rc = rc_1;\n                        in_stack_ffffff28 = puVar21;\n                      }" { (expression_statement "rc_1 = 0;" (assignment_expression "rc_1 = 0" identifier = number_literal) ;) (if_statement "if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }\n                        else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }" if (parenthesized_expression "(buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0)" ( (binary_expression "buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0" (binary_expression "buf.nAlloc == buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) == (field_expression "buf.nBuf" identifier . field_identifier)) || (binary_expression "buf.nAlloc - buf.nBuf < 0" (binary_expression "buf.nAlloc - buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) - (field_expression "buf.nBuf" identifier . field_identifier)) < number_literal)) )) (compound_statement "{\n                          uVar19 = buf.nAlloc;\n                          if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }\n                          uVar17 = (int)uVar19 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );\n                          in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                          iVar30 = sqlite3_initialize();\n                          if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }\n                        }" { (expression_statement "uVar19 = buf.nAlloc;" (assignment_expression "uVar19 = buf.nAlloc" identifier = (field_expression "buf.nAlloc" identifier . field_identifier)) ;) (if_statement "if (buf.nAlloc == 0) {\n                            uVar19 = 0x80;\n                          }" if (parenthesized_expression "(buf.nAlloc == 0)" ( (binary_expression "buf.nAlloc == 0" (field_expression "buf.nAlloc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                            uVar19 = 0x80;\n                          }" { (expression_statement "uVar19 = 0x80;" (assignment_expression "uVar19 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar19 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar19 >> 0x1f" identifier = (binary_expression "(int)uVar19 >> 0x1f" (cast_expression "(int)uVar19" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          } while ((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  );" do (compound_statement "{\n                            uVar17 = uVar17 << 1 | uVar19 >> 0x1f;\n                            uVar19 = uVar19 * 2;\n                          }" { (expression_statement "uVar17 = uVar17 << 1 | uVar19 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar19 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar19 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar19 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar19 = uVar19 * 2;" (assignment_expression "uVar19 = uVar19 * 2" identifier = (binary_expression "uVar19 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))\n                                  )" ( (binary_expression "(int)(uint)(uVar19 - buf.nBuf != 0) <=\n                                   (int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))" (cast_expression "(int)(uint)(uVar19 - buf.nBuf != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar19 - buf.nBuf != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 - buf.nBuf != 0)" ( (binary_expression "uVar19 - buf.nBuf != 0" (binary_expression "uVar19 - buf.nBuf" identifier - (field_expression "buf.nBuf" identifier . field_identifier)) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))" - (parenthesized_expression "((uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf))" ( (binary_expression "(uVar17 - (int)puVar21) - (uint)(uVar19 < (uint)buf.nBuf)" (parenthesized_expression "(uVar17 - (int)puVar21)" ( (binary_expression "uVar17 - (int)puVar21" identifier - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(uVar19 < (uint)buf.nBuf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar19 < (uint)buf.nBuf)" ( (binary_expression "uVar19 < (uint)buf.nBuf" identifier < (cast_expression "(uint)buf.nBuf" ( (type_descriptor "uint" type_identifier) ) (field_expression "buf.nBuf" identifier . field_identifier))) )))) ))))) )) ;) (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf" identifier = (cast_expression "(sqlite3_stmt *)buf.nBuf" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) ;) (expression_statement "iVar30 = sqlite3_initialize();" (assignment_expression "iVar30 = sqlite3_initialize()" identifier = (call_expression "sqlite3_initialize()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)) {\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }\n                          else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }" if (parenthesized_expression "((iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0))" ( (binary_expression "(iVar30 == 0) &&\n                             (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)" (parenthesized_expression "(iVar30 == 0)" ( (binary_expression "iVar30 == 0" identifier == number_literal) )) && (parenthesized_expression "(puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0)" ( (comma_expression "puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 != (u8 *)0x0" (assignment_expression "puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" identifier = (cast_expression "(u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" identifier (argument_list "(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(puVar21,\n                                                  in_stack_ffffff24)" identifier (argument_list "(puVar21,\n                                                  in_stack_ffffff24)" ( identifier , identifier ))) ))))) , (binary_expression "puVar9 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                            iVar30 = buf.nBuf;\n                            in_stack_ffffff28 = puVar21;\n                            buf.aBuf = puVar9;\n                            buf.nAlloc = uVar19;\n                            if (rc_1 == 0) goto LAB_0014e098;\n                          }" { (expression_statement "iVar30 = buf.nBuf;" (assignment_expression "iVar30 = buf.nBuf" identifier = (field_expression "buf.nBuf" identifier . field_identifier)) ;) (expression_statement "in_stack_ffffff28 = puVar21;" (assignment_expression "in_stack_ffffff28 = puVar21" identifier = identifier) ;) (expression_statement "buf.aBuf = puVar9;" (assignment_expression "buf.aBuf = puVar9" (field_expression "buf.aBuf" identifier . field_identifier) = identifier) ;) (expression_statement "buf.nAlloc = uVar19;" (assignment_expression "buf.nAlloc = uVar19" (field_expression "buf.nAlloc" identifier . field_identifier) = identifier) ;) (if_statement "if (rc_1 == 0) goto LAB_0014e098;" if (parenthesized_expression "(rc_1 == 0)" ( (binary_expression "rc_1 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014e098;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }" else (compound_statement "{\nLAB_0014ecf9:\n                            rc_1 = 7;\n                          }" { (labeled_statement "LAB_0014ecf9:\n                            rc_1 = 7;" statement_identifier : (expression_statement "rc_1 = 7;" (assignment_expression "rc_1 = 7" identifier = number_literal) ;)) }))) }) (else_clause "else {\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }" else (compound_statement "{\nLAB_0014e098:\n                          puVar21 = in_stack_ffffff28;\n                          puVar9 = buf.aBuf;\n                          buf.nBuf = iVar30 + 1;\n                          buf.aBuf[iVar30] = '\t';\n                          iVar30 = local_b4[1];\n                          if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }\n                        }" { (labeled_statement "LAB_0014e098:\n                          puVar21 = in_stack_ffffff28;" statement_identifier : (expression_statement "puVar21 = in_stack_ffffff28;" (assignment_expression "puVar21 = in_stack_ffffff28" identifier = identifier) ;)) (expression_statement "puVar9 = buf.aBuf;" (assignment_expression "puVar9 = buf.aBuf" identifier = (field_expression "buf.aBuf" identifier . field_identifier)) ;) (expression_statement "buf.nBuf = iVar30 + 1;" (assignment_expression "buf.nBuf = iVar30 + 1" (field_expression "buf.nBuf" identifier . field_identifier) = (binary_expression "iVar30 + 1" identifier + number_literal)) ;) (expression_statement "buf.aBuf[iVar30] = '\t';" (assignment_expression "buf.aBuf[iVar30] = '\t'" (subscript_expression "buf.aBuf[iVar30]" (field_expression "buf.aBuf" identifier . field_identifier) [ identifier ]) = (char_literal "'\t'" ' escape_sequence ')) ;) (expression_statement "iVar30 = local_b4[1];" (assignment_expression "iVar30 = local_b4[1]" identifier = (subscript_expression "local_b4[1]" identifier [ number_literal ])) ;) (if_statement "if (rc_1 == 0) {\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }" if (parenthesized_expression "(rc_1 == 0)" ( (binary_expression "rc_1 == 0" identifier == number_literal) )) (compound_statement "{\n                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }\n                            local_94._0_1_ = (u8)iVar30;\n                            buf.aBuf[buf.nBuf] = (u8)local_94;\n                            buf.nBuf = (int)(buf.nBuf + 1);\n                          }" { (if_statement "if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }" if (parenthesized_expression "(buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0)" ( (binary_expression "buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0" (binary_expression "buf.nAlloc == buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) == (field_expression "buf.nBuf" identifier . field_identifier)) || (binary_expression "buf.nAlloc - buf.nBuf < 0" (binary_expression "buf.nAlloc - buf.nBuf" (field_expression "buf.nAlloc" identifier . field_identifier) - (field_expression "buf.nBuf" identifier . field_identifier)) < number_literal)) )) (compound_statement "{\n                              psVar16 = (sqlite3_stmt *)buf.nAlloc;\n                              if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }\n                              puVar21 = (u8 *)(buf.nBuf >> 0x1f);\n                              uVar19 = (int)psVar16 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));\n                              in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;\n                              iVar22 = sqlite3_initialize();\n                              if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;\n                              buf.aBuf = puVar9;\n                              buf.nAlloc = (int)psVar16;\n                              if (rc_1 != 0) goto LAB_0014e17a;\n                            }" { (expression_statement "psVar16 = (sqlite3_stmt *)buf.nAlloc;" (assignment_expression "psVar16 = (sqlite3_stmt *)buf.nAlloc" identifier = (cast_expression "(sqlite3_stmt *)buf.nAlloc" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nAlloc" identifier . field_identifier))) ;) (if_statement "if (buf.nAlloc == 0) {\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }" if (parenthesized_expression "(buf.nAlloc == 0)" ( (binary_expression "buf.nAlloc == 0" (field_expression "buf.nAlloc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n                                psVar16 = (sqlite3_stmt *)0x80;\n                              }" { (expression_statement "psVar16 = (sqlite3_stmt *)0x80;" (assignment_expression "psVar16 = (sqlite3_stmt *)0x80" identifier = (cast_expression "(sqlite3_stmt *)0x80" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "puVar21 = (u8 *)(buf.nBuf >> 0x1f);" (assignment_expression "puVar21 = (u8 *)(buf.nBuf >> 0x1f)" identifier = (cast_expression "(u8 *)(buf.nBuf >> 0x1f)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(buf.nBuf >> 0x1f)" ( (binary_expression "buf.nBuf >> 0x1f" (field_expression "buf.nBuf" identifier . field_identifier) >> number_literal) )))) ;) (expression_statement "uVar19 = (int)psVar16 >> 0x1f;" (assignment_expression "uVar19 = (int)psVar16 >> 0x1f" identifier = (binary_expression "(int)psVar16 >> 0x1f" (cast_expression "(int)psVar16" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              } while ((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)));" do (compound_statement "{\n                                uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;\n                                psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);\n                              }" { (expression_statement "uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | (uint)psVar16 >> 0x1f" identifier = (binary_expression "uVar19 << 1 | (uint)psVar16 >> 0x1f" (binary_expression "uVar19 << 1" identifier << number_literal) | (binary_expression "(uint)psVar16 >> 0x1f" (cast_expression "(uint)psVar16" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal))) ;) (expression_statement "psVar16 = (sqlite3_stmt *)((int)psVar16 * 2);" (assignment_expression "psVar16 = (sqlite3_stmt *)((int)psVar16 * 2)" identifier = (cast_expression "(sqlite3_stmt *)((int)psVar16 * 2)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar16 * 2)" ( (binary_expression "(int)psVar16 * 2" (cast_expression "(int)psVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) }) while (parenthesized_expression "((int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)))" ( (binary_expression "(int)(uint)((int)psVar16 - buf.nBuf != 0) <=\n                                       (int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf))" (cast_expression "(int)(uint)((int)psVar16 - buf.nBuf != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)((int)psVar16 - buf.nBuf != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psVar16 - buf.nBuf != 0)" ( (binary_expression "(int)psVar16 - buf.nBuf != 0" (binary_expression "(int)psVar16 - buf.nBuf" (cast_expression "(int)psVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (field_expression "buf.nBuf" identifier . field_identifier)) != number_literal) )))) <= (cast_expression "(int)-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf))" - (parenthesized_expression "((uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf))" ( (binary_expression "(uVar19 - (int)puVar21) -\n                                             (uint)(psVar16 < (uint)buf.nBuf)" (parenthesized_expression "(uVar19 - (int)puVar21)" ( (binary_expression "uVar19 - (int)puVar21" identifier - (cast_expression "(int)puVar21" ( (type_descriptor "int" primitive_type) ) identifier)) )) - (call_expression "(uint)(psVar16 < (uint)buf.nBuf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(psVar16 < (uint)buf.nBuf)" ( (binary_expression "psVar16 < (uint)buf.nBuf" identifier < (cast_expression "(uint)buf.nBuf" ( (type_descriptor "uint" type_identifier) ) (field_expression "buf.nBuf" identifier . field_identifier))) )))) ))))) )) ;) (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf;" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)buf.nBuf" identifier = (cast_expression "(sqlite3_stmt *)buf.nBuf" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "buf.nBuf" identifier . field_identifier))) ;) (expression_statement "iVar22 = sqlite3_initialize();" (assignment_expression "iVar22 = sqlite3_initialize()" identifier = (call_expression "sqlite3_initialize()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))\n                              goto LAB_0014ecf9;" if (parenthesized_expression "((iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0))" ( (binary_expression "(iVar22 != 0) ||\n                                 (puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0)" (parenthesized_expression "(iVar22 != 0)" ( (binary_expression "iVar22 != 0" identifier != number_literal) )) || (parenthesized_expression "(puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0)" ( (comma_expression "puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24)), puVar9 == (u8 *)0x0" (assignment_expression "puVar9 = (u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" identifier = (cast_expression "(u8 *)sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Realloc(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" identifier (argument_list "(puVar9,CONCAT44(puVar21,\n                                                  in_stack_ffffff24))" ( identifier , (call_expression "CONCAT44(puVar21,\n                                                  in_stack_ffffff24)" identifier (argument_list "(puVar21,\n                                                  in_stack_ffffff24)" ( identifier , identifier ))) ))))) , (binary_expression "puVar9 == (u8 *)0x0" identifier == (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_0014ecf9;" goto statement_identifier ;)) (expression_statement "buf.aBuf = puVar9;" (assignment_expression "buf.aBuf = puVar9" (field_expression "buf.aBuf" identifier . field_identifier) = identifier) ;) (expression_statement "buf.nAlloc = (int)psVar16;" (assignment_expression "buf.nAlloc = (int)psVar16" (field_expression "buf.nAlloc" identifier . field_identifier) = (cast_expression "(int)psVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (rc_1 != 0) goto LAB_0014e17a;" if (parenthesized_expression "(rc_1 != 0)" ( (binary_expression "rc_1 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e17a;" goto statement_identifier ;)) })) (expression_statement "local_94._0_1_ = (u8)iVar30;" (assignment_expression "local_94._0_1_ = (u8)iVar30" (field_expression "local_94._0_1_" identifier . field_identifier) = (cast_expression "(u8)iVar30" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "buf.aBuf[buf.nBuf] = (u8)local_94;" (assignment_expression "buf.aBuf[buf.nBuf] = (u8)local_94" (subscript_expression "buf.aBuf[buf.nBuf]" (field_expression "buf.aBuf" identifier . field_identifier) [ (field_expression "buf.nBuf" identifier . field_identifier) ]) = (cast_expression "(u8)local_94" ( (type_descriptor "u8" type_identifier) ) identifier)) ;) (expression_statement "buf.nBuf = (int)(buf.nBuf + 1);" (assignment_expression "buf.nBuf = (int)(buf.nBuf + 1)" (field_expression "buf.nBuf" identifier . field_identifier) = (cast_expression "(int)(buf.nBuf + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(buf.nBuf + 1)" ( (binary_expression "buf.nBuf + 1" (field_expression "buf.nBuf" identifier . field_identifier) + number_literal) )))) ;) })) }))) (labeled_statement "LAB_0014e17a:\n                        ppcVar13 = (char **)local_b4[3];" statement_identifier : (expression_statement "ppcVar13 = (char **)local_b4[3];" (assignment_expression "ppcVar13 = (char **)local_b4[3]" identifier = (cast_expression "(char **)local_b4[3]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;)) (if_statement "if (iVar8 == 0) {\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }\n                        else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n                          __n = local_b4[2];\n                          if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }\n                        }" { (expression_statement "__n = local_b4[2];" (assignment_expression "__n = local_b4[2]" identifier = (subscript_expression "local_b4[2]" identifier [ number_literal ])) ;) (if_statement "if ((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)) {\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }" if (parenthesized_expression "((0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0))" ( (binary_expression "(0 < (int)__n) &&\n                             (iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)" (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0)" ( (comma_expression "iVar10 = sessionBufferGrow(&buf,__n,&rc_1), iVar10 == 0" (assignment_expression "iVar10 = sessionBufferGrow(&buf,__n,&rc_1)" identifier = (call_expression "sessionBufferGrow(&buf,__n,&rc_1)" identifier (argument_list "(&buf,__n,&rc_1)" ( (pointer_expression "&buf" & identifier) , identifier , (pointer_expression "&rc_1" & identifier) )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                            memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);\n                            buf.nBuf = buf.nBuf + __n;\n                            pRc = ppcVar13;\n                          }" { (expression_statement "memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n);" (call_expression "memcpy(buf.aBuf + buf.nBuf,ppcVar13,__n)" identifier (argument_list "(buf.aBuf + buf.nBuf,ppcVar13,__n)" ( (binary_expression "buf.aBuf + buf.nBuf" (field_expression "buf.aBuf" identifier . field_identifier) + (field_expression "buf.nBuf" identifier . field_identifier)) , identifier , identifier ))) ;) (expression_statement "buf.nBuf = buf.nBuf + __n;" (assignment_expression "buf.nBuf = buf.nBuf + __n" (field_expression "buf.nBuf" identifier . field_identifier) = (binary_expression "buf.nBuf + __n" (field_expression "buf.nBuf" identifier . field_identifier) + identifier)) ;) (expression_statement "pRc = ppcVar13;" (assignment_expression "pRc = ppcVar13" identifier = identifier) ;) })) }) (else_clause "else if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }" else (if_statement "if (0 < iVar10) {\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }" if (parenthesized_expression "(0 < iVar10)" ( (binary_expression "0 < iVar10" number_literal < identifier) )) (compound_statement "{\n                          puVar9 = puVar24 + iVar10;\n                          do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);\n                        }" { (expression_statement "puVar9 = puVar24 + iVar10;" (assignment_expression "puVar9 = puVar24 + iVar10" identifier = (binary_expression "puVar24 + iVar10" identifier + identifier)) ;) (do_statement "do {\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          } while (puVar24 != puVar9);" do (compound_statement "{\n                            bVar5 = *(byte *)ppcVar13;\n                            p = (char **)((int)ppcVar13 + 1);\n                            if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }\n                            if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }\n                            puVar24 = puVar24 + 1;\n                            ppcVar13 = p;\n                          }" { (expression_statement "bVar5 = *(byte *)ppcVar13;" (assignment_expression "bVar5 = *(byte *)ppcVar13" identifier = (pointer_expression "*(byte *)ppcVar13" * (cast_expression "(byte *)ppcVar13" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "p = (char **)((int)ppcVar13 + 1);" (assignment_expression "p = (char **)((int)ppcVar13 + 1)" identifier = (cast_expression "(char **)((int)ppcVar13 + 1)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar13 + 1)" ( (binary_expression "(int)ppcVar13 + 1" (cast_expression "(int)ppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (bVar5 < 3) {\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }\n                            else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }" if (parenthesized_expression "(bVar5 < 3)" ( (binary_expression "bVar5 < 3" identifier < number_literal) )) (compound_statement "{\n                              if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }\nLAB_0014e1b0:\n                              uVar1 = *puVar24;\n                            }" { (if_statement "if (bVar5 != 0) {\n                                p = (char **)((int)ppcVar13 + 9);\n                              }" if (parenthesized_expression "(bVar5 != 0)" ( (binary_expression "bVar5 != 0" identifier != number_literal) )) (compound_statement "{\n                                p = (char **)((int)ppcVar13 + 9);\n                              }" { (expression_statement "p = (char **)((int)ppcVar13 + 9);" (assignment_expression "p = (char **)((int)ppcVar13 + 9)" identifier = (cast_expression "(char **)((int)ppcVar13 + 9)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppcVar13 + 9)" ( (binary_expression "(int)ppcVar13 + 9" (cast_expression "(int)ppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (labeled_statement "LAB_0014e1b0:\n                              uVar1 = *puVar24;" statement_identifier : (expression_statement "uVar1 = *puVar24;" (assignment_expression "uVar1 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;)) }) (else_clause "else {\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }" else (compound_statement "{\n                              if (bVar5 == 5) goto LAB_0014e1b0;\n                              uVar17 = 1;\n                              uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);\n                              if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }\n                              p = (char **)((int)p + uVar19 + uVar17);\n                              uVar1 = *puVar24;\n                            }" { (if_statement "if (bVar5 == 5) goto LAB_0014e1b0;" if (parenthesized_expression "(bVar5 == 5)" ( (binary_expression "bVar5 == 5" identifier == number_literal) )) (goto_statement "goto LAB_0014e1b0;" goto statement_identifier ;)) (expression_statement "uVar17 = 1;" (assignment_expression "uVar17 = 1" identifier = number_literal) ;) (expression_statement "uVar19 = (uint)*(byte *)((int)ppcVar13 + 1);" (assignment_expression "uVar19 = (uint)*(byte *)((int)ppcVar13 + 1)" identifier = (binary_expression "(uint)*(byte *)((int)ppcVar13 + 1)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)((int)ppcVar13 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar13 + 1)" ( (binary_expression "(int)ppcVar13 + 1" (cast_expression "(int)ppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((char)*(byte *)((int)ppcVar13 + 1) < '\0') {\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }" if (parenthesized_expression "((char)*(byte *)((int)ppcVar13 + 1) < '\0')" ( (binary_expression "(char)*(byte *)((int)ppcVar13 + 1) < '\0'" (cast_expression "(char)*(byte *)((int)ppcVar13 + 1)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppcVar13 + 1)" * (cast_expression "(byte *)((int)ppcVar13 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppcVar13 + 1)" ( (binary_expression "(int)ppcVar13 + 1" (cast_expression "(int)ppcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                                bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);\n                                uVar17 = (uint)bVar5;\n                                uVar19 = n;\n                              }" { (expression_statement "bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n);" (assignment_expression "bVar5 = sqlite3GetVarint32((uchar *)p,(u32 *)&n)" identifier = (call_expression "sqlite3GetVarint32((uchar *)p,(u32 *)&n)" identifier (argument_list "((uchar *)p,(u32 *)&n)" ( (cast_expression "(uchar *)p" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(u32 *)&n" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&n" & identifier)) )))) ;) (expression_statement "uVar17 = (uint)bVar5;" (assignment_expression "uVar17 = (uint)bVar5" identifier = (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar19 = n;" (assignment_expression "uVar19 = n" identifier = identifier) ;) })) (expression_statement "p = (char **)((int)p + uVar19 + uVar17);" (assignment_expression "p = (char **)((int)p + uVar19 + uVar17)" identifier = (cast_expression "(char **)((int)p + uVar19 + uVar17)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)p + uVar19 + uVar17)" ( (binary_expression "(int)p + uVar19 + uVar17" (binary_expression "(int)p + uVar19" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + identifier) )))) ;) (expression_statement "uVar1 = *puVar24;" (assignment_expression "uVar1 = *puVar24" identifier = (pointer_expression "*puVar24" * identifier)) ;) }))) (if_statement "if (((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)) {\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }" if (parenthesized_expression "(((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0))" ( (binary_expression "((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)) &&\n                               (iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)" (parenthesized_expression "((uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24))" ( (binary_expression "(uVar1 != '\0') &&\n                                (in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)" (parenthesized_expression "(uVar1 != '\0')" ( (binary_expression "uVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24)" ( (comma_expression "in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13),\n                                0 < (int)in_stack_ffffff24" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)((int)p - (int)ppcVar13)" identifier = (cast_expression "(sqlite3_stmt *)((int)p - (int)ppcVar13)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)p - (int)ppcVar13)" ( (binary_expression "(int)p - (int)ppcVar13" (cast_expression "(int)p" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)ppcVar13" ( (type_descriptor "int" primitive_type) ) identifier)) )))) , (binary_expression "0 < (int)in_stack_ffffff24" number_literal < (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) && (parenthesized_expression "(iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0)" ( (comma_expression "iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1),\n                               iVar10 == 0" (assignment_expression "iVar10 = sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1)" identifier = (call_expression "sessionBufferGrow(&buf,(int)in_stack_ffffff24,&rc_1)" identifier (argument_list "(&buf,(int)in_stack_ffffff24,&rc_1)" ( (pointer_expression "&buf" & identifier) , (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier) , (pointer_expression "&rc_1" & identifier) )))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                              memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);\n                              buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);\n                              pRc = ppcVar13;\n                            }" { (expression_statement "memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24);" (call_expression "memcpy(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24)" identifier (argument_list "(buf.aBuf + buf.nBuf,ppcVar13,(size_t)in_stack_ffffff24)" ( (binary_expression "buf.aBuf + buf.nBuf" (field_expression "buf.aBuf" identifier . field_identifier) + (field_expression "buf.nBuf" identifier . field_identifier)) , identifier , (cast_expression "(size_t)in_stack_ffffff24" ( (type_descriptor "size_t" primitive_type) ) identifier) ))) ;) (expression_statement "buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf);" (assignment_expression "buf.nBuf = (int)(in_stack_ffffff24 + buf.nBuf)" (field_expression "buf.nBuf" identifier . field_identifier) = (cast_expression "(int)(in_stack_ffffff24 + buf.nBuf)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(in_stack_ffffff24 + buf.nBuf)" ( (binary_expression "in_stack_ffffff24 + buf.nBuf" identifier + (field_expression "buf.nBuf" identifier . field_identifier)) )))) ;) (expression_statement "pRc = ppcVar13;" (assignment_expression "pRc = ppcVar13" identifier = identifier) ;) })) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) (expression_statement "ppcVar13 = p;" (assignment_expression "ppcVar13 = p" identifier = identifier) ;) }) while (parenthesized_expression "(puVar24 != puVar9)" ( (binary_expression "puVar24 != puVar9" identifier != identifier) )) ;) })))) (expression_statement "rc = rc_1;" (assignment_expression "rc = rc_1" identifier = identifier) ;) (expression_statement "in_stack_ffffff28 = puVar21;" (assignment_expression "in_stack_ffffff28 = puVar21" identifier = identifier) ;) })))) (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (rc != 0) goto LAB_0014d9b9;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (expression_statement "rc = sqlite3_reset(pSel);" (assignment_expression "rc = sqlite3_reset(pSel)" identifier = (call_expression "sqlite3_reset(pSel)" identifier (argument_list "(pSel)" ( identifier )))) ;) (if_statement "if (extraout_ECX == (code *)0x0) {\n                        bVar25 = rc == 0;\n                      }\n                      else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                        bVar25 = rc == 0;\n                      }" { (expression_statement "bVar25 = rc == 0;" (assignment_expression "bVar25 = rc == 0" identifier = (binary_expression "rc == 0" identifier == number_literal)) ;) }) (else_clause "else {\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }" else (compound_statement "{\n                        pVVar3 = (Vdbe *)pSel;\n                        if (rc != 0) goto LAB_0014d9b9;\n                        if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }\n                      }" { (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (rc != 0) goto LAB_0014d9b9;" if (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (if_statement "if ((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)) {\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }\n                        else {\n                          bVar25 = true;\n                        }" if (parenthesized_expression "((local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf))" ( (binary_expression "(local_74 < buf.nBuf) &&\n                           (*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)" (parenthesized_expression "(local_74 < buf.nBuf)" ( (binary_expression "local_74 < buf.nBuf" identifier < (field_expression "buf.nBuf" identifier . field_identifier)) )) && (parenthesized_expression "(*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf)" ( (binary_expression "*(int *)(&DAT_0006dc5d + unaff_EDI) < buf.nBuf" (pointer_expression "*(int *)(&DAT_0006dc5d + unaff_EDI)" * (cast_expression "(int *)(&DAT_0006dc5d + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0006dc5d + unaff_EDI)" ( (binary_expression "&DAT_0006dc5d + unaff_EDI" (pointer_expression "&DAT_0006dc5d" & identifier) + identifier) )))) < (field_expression "buf.nBuf" identifier . field_identifier)) ))) )) (compound_statement "{\n                          pRc = (char **)buf.aBuf;\n                          rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);\n                          buf.nBuf = 0;\n                          bVar25 = rc == 0;\n                          local_74 = -1;\n                        }" { (expression_statement "pRc = (char **)buf.aBuf;" (assignment_expression "pRc = (char **)buf.aBuf" identifier = (cast_expression "(char **)buf.aBuf" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "buf.aBuf" identifier . field_identifier))) ;) (expression_statement "rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf);" (assignment_expression "rc = (*extraout_ECX)(pSession,buf.aBuf,buf.nBuf)" identifier = (call_expression "(*extraout_ECX)(pSession,buf.aBuf,buf.nBuf)" (parenthesized_expression "(*extraout_ECX)" ( (pointer_expression "*extraout_ECX" * identifier) )) (argument_list "(pSession,buf.aBuf,buf.nBuf)" ( identifier , (field_expression "buf.aBuf" identifier . field_identifier) , (field_expression "buf.nBuf" identifier . field_identifier) )))) ;) (expression_statement "buf.nBuf = 0;" (assignment_expression "buf.nBuf = 0" (field_expression "buf.nBuf" identifier . field_identifier) = number_literal) ;) (expression_statement "bVar25 = rc == 0;" (assignment_expression "bVar25 = rc == 0" identifier = (binary_expression "rc == 0" identifier == number_literal)) ;) (expression_statement "local_74 = -1;" (assignment_expression "local_74 = -1" identifier = number_literal) ;) }) (else_clause "else {\n                          bVar25 = true;\n                        }" else (compound_statement "{\n                          bVar25 = true;\n                        }" { (expression_statement "bVar25 = true;" (assignment_expression "bVar25 = true" identifier = true) ;) }))) }))) }) (else_clause "else {\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }" else (compound_statement "{\n                      iVar30 = 0;\n                      do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));\n                      rc = (int)in_stack_ffffff24;\n                      pVVar3 = (Vdbe *)pSel;\n                      if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;\n                    }" { (expression_statement "iVar30 = 0;" (assignment_expression "iVar30 = 0" identifier = number_literal) ;) (do_statement "do {\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      } while ((bool)(iVar22 < iVar10 & bVar25));" do (compound_statement "{\n                        iVar22 = iVar30 + 1;\n                        if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }\n                        psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];\n                        if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }\n                        bVar25 = true;\n                        in_stack_ffffff24 = (sqlite3_stmt *)0x0;\n                        if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }\n                        pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;\n                        iVar30 = iVar22;\n                      }" { (expression_statement "iVar22 = iVar30 + 1;" (assignment_expression "iVar22 = iVar30 + 1" identifier = (binary_expression "iVar30 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar20 < 6) {\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }" if (parenthesized_expression "(*pbVar20 < 6)" ( (binary_expression "*pbVar20 < 6" (pointer_expression "*pbVar20" * identifier) < number_literal) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                          iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();\n                          return iVar8;\n                        }" { comment comment (expression_statement "iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))();" (assignment_expression "iVar8 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1))" ( (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1)" * (cast_expression "(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1)" ( (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI + 0x6d6e1" (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4) +\n                                            unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4)" * (cast_expression "(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4)" ( (binary_expression "unaff_EDI + 0x146f1 + (uint)*pbVar20 * 4" (binary_expression "unaff_EDI + 0x146f1" identifier + number_literal) + (binary_expression "(uint)*pbVar20 * 4" (binary_expression "(uint)*pbVar20" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar8;" return identifier ;) })) (expression_statement "psVar16 = (sqlite3_stmt *)(uint)pbVar20[1];" (assignment_expression "psVar16 = (sqlite3_stmt *)(uint)pbVar20[1]" identifier = (cast_expression "(sqlite3_stmt *)(uint)pbVar20[1]" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pbVar20[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[1]" identifier [ number_literal ])))) ;) (if_statement "if ((char)pbVar20[1] < '\0') {\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }\n                        else {\n                          uVar19 = 1;\n                        }" if (parenthesized_expression "((char)pbVar20[1] < '\0')" ( (binary_expression "(char)pbVar20[1] < '\0'" (cast_expression "(char)pbVar20[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar20[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          bVar5 = pbVar20[2];\n                          if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }\n                        }" { (expression_statement "bVar5 = pbVar20[2];" (assignment_expression "bVar5 = pbVar20[2]" identifier = (subscript_expression "pbVar20[2]" identifier [ number_literal ])) ;) (if_statement "if ((char)bVar5 < '\0') {\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }\n                          else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }" if (parenthesized_expression "((char)bVar5 < '\0')" ( (binary_expression "(char)bVar5 < '\0'" (cast_expression "(char)bVar5" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                            if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }\n                          }" { (if_statement "if ((pbVar20[3] & 0x80) == 0) {\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }\n                            else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }" if (parenthesized_expression "((pbVar20[3] & 0x80) == 0)" ( (binary_expression "(pbVar20[3] & 0x80) == 0" (parenthesized_expression "(pbVar20[3] & 0x80)" ( (binary_expression "pbVar20[3] & 0x80" (subscript_expression "pbVar20[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                              uVar19 = 3;\n                              psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);\n                            }" { (expression_statement "uVar19 = 3;" (assignment_expression "uVar19 = 3" identifier = number_literal) ;) (expression_statement "psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7);" (assignment_expression "psVar16 = (sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7)" identifier = (cast_expression "(sqlite3_stmt *)\n                                        (((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7)" ( (binary_expression "((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f |\n                                        (bVar5 & 0x7f) << 7" (binary_expression "((int)psVar16 << 0xe | (uint)pbVar20[3]) & 0x1fc07f" (parenthesized_expression "((int)psVar16 << 0xe | (uint)pbVar20[3])" ( (binary_expression "(int)psVar16 << 0xe | (uint)pbVar20[3]" (binary_expression "(int)psVar16 << 0xe" (cast_expression "(int)psVar16" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) | (cast_expression "(uint)pbVar20[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[3]" identifier [ number_literal ]))) )) & number_literal) | (binary_expression "(bVar5 & 0x7f) << 7" (parenthesized_expression "(bVar5 & 0x7f)" ( (binary_expression "bVar5 & 0x7f" identifier & number_literal) )) << number_literal)) )))) ;) }) (else_clause "else {\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }" else (compound_statement "{\n                              bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);\n                              psVar16 = (sqlite3_stmt *)&DAT_ffffffff;\n                              if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }\n                              uVar19 = (uint)bVar5;\n                            }" { (expression_statement "bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n);" (assignment_expression "bVar5 = sqlite3GetVarint(pbVar20 + 1,(u64 *)&n)" identifier = (call_expression "sqlite3GetVarint(pbVar20 + 1,(u64 *)&n)" identifier (argument_list "(pbVar20 + 1,(u64 *)&n)" ( (binary_expression "pbVar20 + 1" identifier + number_literal) , (cast_expression "(u64 *)&n" ( (type_descriptor "u64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&n" & identifier)) )))) ;) (expression_statement "psVar16 = (sqlite3_stmt *)&DAT_ffffffff;" (assignment_expression "psVar16 = (sqlite3_stmt *)&DAT_ffffffff" identifier = (cast_expression "(sqlite3_stmt *)&DAT_ffffffff" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_ffffffff" & identifier))) ;) (if_statement "if (local_28 == 0) {\n                                psVar16 = (sqlite3_stmt *)n;\n                              }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n                                psVar16 = (sqlite3_stmt *)n;\n                              }" { (expression_statement "psVar16 = (sqlite3_stmt *)n;" (assignment_expression "psVar16 = (sqlite3_stmt *)n" identifier = (cast_expression "(sqlite3_stmt *)n" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "uVar19 = (uint)bVar5;" (assignment_expression "uVar19 = (uint)bVar5" identifier = (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) }) (else_clause "else {\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }" else (compound_statement "{\n                            uVar19 = 2;\n                            psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);\n                          }" { (expression_statement "uVar19 = 2;" (assignment_expression "uVar19 = 2" identifier = number_literal) ;) (expression_statement "psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5);" (assignment_expression "psVar16 = (sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5)" identifier = (cast_expression "(sqlite3_stmt *)(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)psVar16 & 0x7f) << 7 | (uint)bVar5)" ( (binary_expression "((uint)psVar16 & 0x7f) << 7 | (uint)bVar5" (binary_expression "((uint)psVar16 & 0x7f) << 7" (parenthesized_expression "((uint)psVar16 & 0x7f)" ( (binary_expression "(uint)psVar16 & 0x7f" (cast_expression "(uint)psVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal) | (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) ;) }))) }) (else_clause "else {\n                          uVar19 = 1;\n                        }" else (compound_statement "{\n                          uVar19 = 1;\n                        }" { (expression_statement "uVar19 = 1;" (assignment_expression "uVar19 = 1" identifier = number_literal) ;) }))) (expression_statement "bVar25 = true;" (assignment_expression "bVar25 = true" identifier = true) ;) (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)0x0;" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)0x0" identifier = (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar21[iVar30] != '\0') {\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }" if (parenthesized_expression "(puVar21[iVar30] != '\0')" ( (binary_expression "puVar21[iVar30] != '\0'" (subscript_expression "puVar21[iVar30]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          iVar30 = 0x14dce1;\n                          in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);\n                          bVar25 = false;\n                          if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }\n                        }" { (expression_statement "iVar30 = 0x14dce1;" (assignment_expression "iVar30 = 0x14dce1" identifier = number_literal) ;) (expression_statement "in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22);" (assignment_expression "in_stack_ffffff24 = (sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22)" identifier = (cast_expression "(sqlite3_stmt *)vdbeUnbind(pVVar3,iVar22)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "vdbeUnbind(pVVar3,iVar22)" identifier (argument_list "(pVVar3,iVar22)" ( identifier , identifier ))))) ;) (expression_statement "bVar25 = false;" (assignment_expression "bVar25 = false" identifier = false) ;) (if_statement "if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) {\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }" if (parenthesized_expression "(in_stack_ffffff24 == (sqlite3_stmt *)0x0)" ( (binary_expression "in_stack_ffffff24 == (sqlite3_stmt *)0x0" identifier == (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                            pRc = (char **)&DAT_ffffffff;\n                            in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);\n                            bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;\n                          }" { (expression_statement "pRc = (char **)&DAT_ffffffff;" (assignment_expression "pRc = (char **)&DAT_ffffffff" identifier = (cast_expression "(char **)&DAT_ffffffff" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_ffffffff" & identifier))) ;) (expression_statement "in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28);" (assignment_expression "in_stack_ffffff24 =\n                                 (sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28)" identifier = (cast_expression "(sqlite3_stmt *)\n                                 bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28)" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "bindText(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28)" identifier (argument_list "(psVar16,-1,(void *)0x0,iVar30,(_func_void_void_ptr *)0x0,\n                                          (u8)in_stack_ffffff28)" ( identifier , number_literal , (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(_func_void_void_ptr *)0x0" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(u8)in_stack_ffffff28" ( (type_descriptor "u8" type_identifier) ) identifier) ))))) ;) (expression_statement "bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0;" (assignment_expression "bVar25 = in_stack_ffffff24 == (sqlite3_stmt *)0x0" identifier = (binary_expression "in_stack_ffffff24 == (sqlite3_stmt *)0x0" identifier == (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) })) })) (expression_statement "pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16;" (assignment_expression "pbVar20 = pbVar20 + 1 + uVar19 + (int)psVar16" identifier = (binary_expression "pbVar20 + 1 + uVar19 + (int)psVar16" (binary_expression "pbVar20 + 1 + uVar19" (binary_expression "pbVar20 + 1" identifier + number_literal) + identifier) + (cast_expression "(int)psVar16" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "iVar30 = iVar22;" (assignment_expression "iVar30 = iVar22" identifier = identifier) ;) }) while (parenthesized_expression "((bool)(iVar22 < iVar10 & bVar25))" ( (cast_expression "(bool)(iVar22 < iVar10 & bVar25)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(iVar22 < iVar10 & bVar25)" ( (binary_expression "iVar22 < iVar10 & bVar25" (binary_expression "iVar22 < iVar10" identifier < identifier) & identifier) ))) )) ;) (expression_statement "rc = (int)in_stack_ffffff24;" (assignment_expression "rc = (int)in_stack_ffffff24" identifier = (cast_expression "(int)in_stack_ffffff24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (in_stack_ffffff24 == (sqlite3_stmt *)0x0) goto LAB_0014ddea;" if (parenthesized_expression "(in_stack_ffffff24 == (sqlite3_stmt *)0x0)" ( (binary_expression "in_stack_ffffff24 == (sqlite3_stmt *)0x0" identifier == (cast_expression "(sqlite3_stmt *)0x0" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014ddea;" goto statement_identifier ;)) }))) (expression_statement "local_b4 = (int *)local_b4[4];" (assignment_expression "local_b4 = (int *)local_b4[4]" identifier = (cast_expression "(int *)local_b4[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[4]" identifier [ number_literal ]))) ;) (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "((local_b4 != (int *)0x0) && (bVar25))" ( (binary_expression "(local_b4 != (int *)0x0) && (bVar25)" (parenthesized_expression "(local_b4 != (int *)0x0)" ( (binary_expression "local_b4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar25)" ( identifier ))) )) ;) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (expression_statement "iVar10 = local_c0[7];" (assignment_expression "iVar10 = local_c0[7]" identifier = (subscript_expression "local_c0[7]" identifier [ number_literal ])) ;) (if_statement "if ((iVar10 <= local_88) || (rc != 0)) goto LAB_0014d9b9;" if (parenthesized_expression "((iVar10 <= local_88) || (rc != 0))" ( (binary_expression "(iVar10 <= local_88) || (rc != 0)" (parenthesized_expression "(iVar10 <= local_88)" ( (binary_expression "iVar10 <= local_88" identifier <= identifier) )) || (parenthesized_expression "(rc != 0)" ( (binary_expression "rc != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (expression_statement "iVar30 = local_c0[8];" (assignment_expression "iVar30 = local_c0[8]" identifier = (subscript_expression "local_c0[8]" identifier [ number_literal ])) ;) })) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_88 < iVar10)" ( (binary_expression "local_88 < iVar10" identifier < identifier) )) ;) })) }) (else_clause "else {\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }" else (compound_statement "{\n            local_74 = buf.nBuf;\n            pVVar3 = (Vdbe *)pSel;\n          }" { (expression_statement "local_74 = buf.nBuf;" (assignment_expression "local_74 = buf.nBuf" identifier = (field_expression "buf.nBuf" identifier . field_identifier)) ;) (expression_statement "pVVar3 = (Vdbe *)pSel;" (assignment_expression "pVVar3 = (Vdbe *)pSel" identifier = (cast_expression "(Vdbe *)pSel" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_0014d9b9:\n          sqlite3_finalize((sqlite3_stmt *)pVVar3);" statement_identifier : (expression_statement "sqlite3_finalize((sqlite3_stmt *)pVVar3);" (call_expression "sqlite3_finalize((sqlite3_stmt *)pVVar3)" identifier (argument_list "((sqlite3_stmt *)pVVar3)" ( (cast_expression "(sqlite3_stmt *)pVVar3" ( (type_descriptor "sqlite3_stmt *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;)) (if_statement "if (buf.nBuf == local_74) {\n            buf.nBuf = iVar7;\n          }" if (parenthesized_expression "(buf.nBuf == local_74)" ( (binary_expression "buf.nBuf == local_74" (field_expression "buf.nBuf" identifier . field_identifier) == identifier) )) (compound_statement "{\n            buf.nBuf = iVar7;\n          }" { (expression_statement "buf.nBuf = iVar7;" (assignment_expression "buf.nBuf = iVar7" (field_expression "buf.nBuf" identifier . field_identifier) = identifier) ;) })) (expression_statement "sqlite3_free(azCol);" (call_expression "sqlite3_free(azCol)" identifier (argument_list "(azCol)" ( identifier ))) ;) })) (expression_statement "local_c0 = (int *)*local_c0;" (assignment_expression "local_c0 = (int *)*local_c0" identifier = (cast_expression "(int *)*local_c0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_c0" * identifier))) ;) }) while (parenthesized_expression "((rc == 0) && (local_c0 != (int *)0x0))" ( (binary_expression "(rc == 0) && (local_c0 != (int *)0x0)" (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) && (parenthesized_expression "(local_c0 != (int *)0x0)" ( (binary_expression "local_c0 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ;)) })) (if_statement "if (rc == 0) goto LAB_0014da0a;" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014da0a;" goto statement_identifier ;)) }))) (expression_statement "sqlite3_free(buf.aBuf);" (call_expression "sqlite3_free(buf.aBuf)" identifier (argument_list "(buf.aBuf)" ( (field_expression "buf.aBuf" identifier . field_identifier) ))) ;) (expression_statement "psVar12 = (sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3);" (assignment_expression "psVar12 = (sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3)" identifier = (cast_expression "(sqlite3 *)((int)&__DT_REL[0x79].r_info + unaff_EDI + 3)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&__DT_REL[0x79].r_info + unaff_EDI + 3)" ( (binary_expression "(int)&__DT_REL[0x79].r_info + unaff_EDI + 3" (binary_expression "(int)&__DT_REL[0x79].r_info + unaff_EDI" (cast_expression "(int)&__DT_REL[0x79].r_info" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&__DT_REL[0x79].r_info" & (field_expression "__DT_REL[0x79].r_info" (subscript_expression "__DT_REL[0x79]" identifier [ number_literal ]) . field_identifier))) + identifier) + number_literal) )))) ;) (expression_statement "sqlite3_exec(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0);" (call_expression "sqlite3_exec(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0)" identifier (argument_list "(psVar12,zSql,(sqlite3_callback)db,psVar12,(char **)0x0)" ( identifier , identifier , (cast_expression "(sqlite3_callback)db" ( (type_descriptor "sqlite3_callback" type_identifier) ) identifier) , identifier , (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) ))) ;) (expression_statement "iVar7 = rc;" (assignment_expression "iVar7 = rc" identifier = identifier) ;) (if_statement "if (db->mutex != (sqlite3_mutex *)0x0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);\n    iVar7 = rc;\n  }" if (parenthesized_expression "(db->mutex != (sqlite3_mutex *)0x0)" ( (binary_expression "db->mutex != (sqlite3_mutex *)0x0" (field_expression "db->mutex" identifier -> field_identifier) != (cast_expression "(sqlite3_mutex *)0x0" ( (type_descriptor "sqlite3_mutex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);\n    iVar7 = rc;\n  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(db->mutex);" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(db->mutex)" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(db->mutex)" ( (field_expression "db->mutex" identifier -> field_identifier) ))) ;) (expression_statement "iVar7 = rc;" (assignment_expression "iVar7 = rc" identifier = identifier) ;) })) (labeled_statement "LAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    __stack_chk_fail_local();\n  }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit "uint FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }\n  return uVar5;\n}\n\n" (function_definition "uint FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }\n  return uVar5;\n}" type_identifier (function_declarator "FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,uint *param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "uint *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }\n  return uVar5;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "void *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "code *extraout_ECX;" type_identifier (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "size_t sVar11;" primitive_type identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "byte bVar13;" type_identifier identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "byte *pbVar15;" type_identifier (pointer_declarator "*pbVar15" * identifier) ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "uint uVar17;" type_identifier identifier ;) (declaration "byte *pbVar18;" type_identifier (pointer_declarator "*pbVar18" * identifier) ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "char *pcVar20;" primitive_type (pointer_declarator "*pcVar20" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar21;" primitive_type identifier ;) (declaration "longdouble lVar22;" type_identifier identifier ;) (declaration "undefined8 uVar23;" type_identifier identifier ;) (declaration "longlong lVar24;" type_identifier identifier ;) (declaration "uint local_dc;" type_identifier identifier ;) (declaration "uint local_cc;" type_identifier identifier ;) (declaration "byte *local_c4;" type_identifier (pointer_declarator "*local_c4" * identifier) ;) (declaration "undefined4 *local_c0;" type_identifier (pointer_declarator "*local_c0" * identifier) ;) (declaration "int *local_b4;" primitive_type (pointer_declarator "*local_b4" * identifier) ;) (declaration "uint local_94;" type_identifier identifier ;) (declaration "int local_88;" primitive_type identifier ;) (declaration "uint local_74;" type_identifier identifier ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "size_t local_58;" primitive_type identifier ;) (declaration "char *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "int *local_4c;" primitive_type (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "uint local_44;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "uint local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "uint local_28;" type_identifier identifier ;) (declaration "uint local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (expression_statement "uVar23 = FUN_0003a401();" (assignment_expression "uVar23 = FUN_0003a401()" identifier = (call_expression "FUN_0003a401()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar10 = (int)((ulonglong)uVar23 >> 0x20);" (assignment_expression "iVar10 = (int)((ulonglong)uVar23 >> 0x20)" identifier = (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" ( (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar4 = (int *)uVar23;" (assignment_expression "piVar4 = (int *)uVar23" identifier = (cast_expression "(int *)uVar23" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar2 = *piVar4;" (assignment_expression "iVar2 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (if_statement "if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *param_2 = 0;\n    *param_3 = 0;\n  }" { (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" * identifier) = number_literal) ;) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" * identifier) = number_literal) ;) })) (expression_statement "uVar5 = piVar4[5];" (assignment_expression "uVar5 = piVar4[5]" identifier = (subscript_expression "piVar4[5]" identifier [ number_literal ])) ;) (if_statement "if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;" if (parenthesized_expression "((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))" ( (binary_expression "(piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0)" (parenthesized_expression "(piVar4[5] != 0)" ( (binary_expression "piVar4[5] != 0" (subscript_expression "piVar4[5]" identifier [ number_literal ]) != number_literal) )) || (parenthesized_expression "(local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0)" ( (comma_expression "local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0" (assignment_expression "local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0)" identifier = (call_expression "FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0)" identifier (argument_list "(*piVar4,unaff_EDI + 0x1159f,0,0,0)" ( (pointer_expression "*piVar4" * identifier) , (binary_expression "unaff_EDI + 0x1159f" identifier + number_literal) , number_literal , number_literal , number_literal )))) , (comma_expression "uVar5 = local_5c, local_5c != 0" (assignment_expression "uVar5 = local_5c" identifier = identifier) , (binary_expression "local_5c != 0" identifier != number_literal))) ))) )) (goto_statement "goto LAB_0014d7d0;" goto statement_identifier ;)) (if_statement "if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0xc) == 0)" ( (binary_expression "*(int *)(iVar2 + 0xc) == 0" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }" { (expression_statement "local_c0 = (undefined4 *)piVar4[10];" (assignment_expression "local_c0 = (undefined4 *)piVar4[10]" identifier = (cast_expression "(undefined4 *)piVar4[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ;) (if_statement "if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;" if (parenthesized_expression "(local_c0 != (undefined4 *)0x0)" ( (binary_expression "local_c0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0014d858;" goto statement_identifier ;)) (labeled_statement "LAB_0014da0a:\n    iVar10 = local_38;" statement_identifier : (expression_statement "iVar10 = local_38;" (assignment_expression "iVar10 = local_38" identifier = identifier) ;)) (if_statement "if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }" { (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" identifier = number_literal) ;) (expression_statement "*param_2 = local_34;" (assignment_expression "*param_2 = local_34" (pointer_expression "*param_2" * identifier) = identifier) ;) (expression_statement "*param_3 = iVar10;" (assignment_expression "*param_3 = iVar10" (pointer_expression "*param_3" * identifier) = identifier) ;) }) (else_clause "else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" else (if_statement "if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" if (parenthesized_expression "(0 < (int)local_34)" ( (binary_expression "0 < (int)local_34" number_literal < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" { (expression_statement "local_5c = (*extraout_ECX)(param_1,local_38,local_34);" (assignment_expression "local_5c = (*extraout_ECX)(param_1,local_38,local_34)" identifier = (call_expression "(*extraout_ECX)(param_1,local_38,local_34)" (parenthesized_expression "(*extraout_ECX)" ( (pointer_expression "*extraout_ECX" * identifier) )) (argument_list "(param_1,local_38,local_34)" ( identifier , identifier , identifier )))) ;) })))) }) (else_clause "else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" else (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar2 + 0xc))" ( (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) ))) ;) (for_statement "for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }" for ( (assignment_expression "local_c0 = (undefined4 *)piVar4[10]" identifier = (cast_expression "(undefined4 *)piVar4[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ; (parenthesized_expression "(local_5c == 0 && (local_c0 != (undefined4 *)0x0))" ( (binary_expression "local_5c == 0 && (local_c0 != (undefined4 *)0x0)" (binary_expression "local_5c == 0" identifier == number_literal) && (parenthesized_expression "(local_c0 != (undefined4 *)0x0)" ( (binary_expression "local_c0 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ; (assignment_expression "local_c0 = (undefined4 *)*local_c0" identifier = (cast_expression "(undefined4 *)*local_c0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*local_c0" * identifier))) ) (compound_statement "{\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }" { (labeled_statement "LAB_0014d858:\n      uVar5 = local_34;" statement_identifier : (expression_statement "uVar5 = local_34;" (assignment_expression "uVar5 = local_34" identifier = identifier) ;)) (if_statement "if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }" if (parenthesized_expression "(local_c0[6] != 0)" ( (binary_expression "local_c0[6] != 0" (subscript_expression "local_c0[6]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = (int *)0x0;" (assignment_expression "local_4c = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);" (assignment_expression "local_5c = FUN_00112490(&local_58,0,&local_50,&local_54)" identifier = (call_expression "FUN_00112490(&local_58,0,&local_50,&local_54)" identifier (argument_list "(&local_58,0,&local_50,&local_54)" ( (pointer_expression "&local_58" & identifier) , number_literal , (pointer_expression "&local_50" & identifier) , (pointer_expression "&local_54" & identifier) )))) ;) (if_statement "if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }" if (parenthesized_expression "((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0))))" ( (binary_expression "(local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))" (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) && (parenthesized_expression "((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))" ( (parenthesized_expression "(local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0))" ( (binary_expression "local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)" (binary_expression "local_c0[2] != local_58" (subscript_expression "local_c0[2]" identifier [ number_literal ]) != identifier) || (parenthesized_expression "(iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)" ( (comma_expression "iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0" (assignment_expression "iVar6 = memcmp(local_54,(void *)local_c0[5],local_58)" identifier = (call_expression "memcmp(local_54,(void *)local_c0[5],local_58)" identifier (argument_list "(local_54,(void *)local_c0[5],local_58)" ( identifier , (cast_expression "(void *)local_c0[5]" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_c0[5]" identifier [ number_literal ])) , identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) ))) )) (compound_statement "{\n          local_5c = 0x11;\n        }" { (expression_statement "local_5c = 0x11;" (assignment_expression "local_5c = 0x11" identifier = number_literal) ;) })) (expression_statement "FUN_000a1ad0(&local_5c);" (call_expression "FUN_000a1ad0(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;) (if_statement "if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" if (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) (compound_statement "{\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }" { (expression_statement "local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);" (assignment_expression "local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c)" identifier = (call_expression "FUN_001425c0(local_58,local_50,local_54,&local_4c)" identifier (argument_list "(local_58,local_50,local_54,&local_4c)" ( identifier , identifier , identifier , (pointer_expression "&local_4c" & identifier) )))) ;) (expression_statement "local_74 = local_34;" (assignment_expression "local_74 = local_34" identifier = identifier) ;) (expression_statement "iVar6 = local_c0[7];" (assignment_expression "iVar6 = local_c0[7]" identifier = (subscript_expression "local_c0[7]" identifier [ number_literal ])) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }" if (parenthesized_expression "((0 < iVar6) && (local_5c == 0))" ( (binary_expression "(0 < iVar6) && (local_5c == 0)" (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) && (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) ))) )) (compound_statement "{\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }" { (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" identifier = number_literal) ;) (expression_statement "iVar16 = local_c0[8];" (assignment_expression "iVar16 = local_c0[8]" identifier = (subscript_expression "local_c0[8]" identifier [ number_literal ])) ;) (do_statement "do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);" do (compound_statement "{\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            }" { (while_statement "while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }" while (parenthesized_expression "(local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0)" ( (comma_expression "local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0" (assignment_expression "local_b4 = *(int **)(iVar16 + local_88 * 4)" identifier = (pointer_expression "*(int **)(iVar16 + local_88 * 4)" * (cast_expression "(int **)(iVar16 + local_88 * 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar16 + local_88 * 4)" ( (binary_expression "iVar16 + local_88 * 4" identifier + (binary_expression "local_88 * 4" identifier * number_literal)) ))))) , (binary_expression "local_b4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }" { (do_statement "do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));" do (compound_statement "{\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                }" { (expression_statement "pcVar20 = local_54;" (assignment_expression "pcVar20 = local_54" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) (expression_statement "pbVar15 = (byte *)local_b4[3];" (assignment_expression "pbVar15 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;) (if_statement "if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" if (parenthesized_expression "((int)local_58 < 1)" ( (binary_expression "(int)local_58 < 1" (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }" { (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (labeled_statement "LAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);" statement_identifier : (expression_statement "iVar6 = FUN_000e7e00(piVar4);" (assignment_expression "iVar6 = FUN_000e7e00(piVar4)" identifier = (call_expression "FUN_000e7e00(piVar4)" identifier (argument_list "(piVar4)" ( identifier )))) ;)) (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" identifier = identifier) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (expression_statement "pcVar20 = local_54;" (assignment_expression "pcVar20 = local_54" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) (if_statement "if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" if (parenthesized_expression "(iVar6 == 100)" ( (binary_expression "iVar6 == 100" identifier == number_literal) )) (compound_statement "{\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }" { (if_statement "if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" if (parenthesized_expression "(*local_b4 == 0x12)" ( (binary_expression "*local_b4 == 0x12" (pointer_expression "*local_b4" * identifier) == number_literal) )) (compound_statement "{\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }" { (expression_statement "FUN_00133280();" (call_expression "FUN_00133280()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "FUN_00133280();" (call_expression "FUN_00133280()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) (if_statement "if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }" if (parenthesized_expression "(0 < (int)local_58)" ( (binary_expression "0 < (int)local_58" number_literal < (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }" { (do_statement "do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);" do (compound_statement "{\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          }" { (while_statement "while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }" while (parenthesized_expression "(uVar9 != 0)" ( (binary_expression "uVar9 != 0" identifier != number_literal) )) (compound_statement "{\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }" { (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;" if (parenthesized_expression "((int)sVar11 <= iVar6)" ( (binary_expression "(int)sVar11 <= iVar6" (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) })) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "FUN_000a1c40(&local_5c);" (call_expression "FUN_000a1c40(&local_5c)" identifier (argument_list "(&local_5c)" ( (pointer_expression "&local_5c" & identifier) ))) ;) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" identifier = identifier) ;) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" identifier = identifier) ;) }) while (parenthesized_expression "(iVar6 < (int)local_58)" ( (binary_expression "iVar6 < (int)local_58" identifier < (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) }) (else_clause "else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" else (compound_statement "{\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" { (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_c4 = (byte *)local_b4[3];" (assignment_expression "local_c4 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" identifier = number_literal) ;) (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" if (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" ( (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" identifier == identifier) || (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }" { (expression_statement "uVar14 = local_30;" (assignment_expression "uVar14 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                            uVar14 = 0x80;\n                          }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar14 >> 0x1f" identifier = (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));" do (compound_statement "{\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          }" { (expression_statement "uVar17 = uVar17 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar14 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar14 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" identifier = (binary_expression "uVar14 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)))" ( (binary_expression "(int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" (cast_expression "(int)(uint)(uVar14 - local_34 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar14 - local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 - local_34 != 0)" ( (binary_expression "uVar14 - local_34 != 0" (binary_expression "uVar14 - local_34" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" - (parenthesized_expression "((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" ( (binary_expression "(uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)" (parenthesized_expression "(uVar17 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar17 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar14 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_34)" ( (binary_expression "uVar14 < local_34" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }" { (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" identifier = identifier) ;) (expression_statement "local_30 = uVar14;" (assignment_expression "local_30 = uVar14" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014df46;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014df46;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" else (compound_statement "{\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" { (labeled_statement "LAB_0014ed09:\n                            local_48 = 7;" statement_identifier : (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" identifier = number_literal) ;)) }))) }) (else_clause "else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" else (compound_statement "{\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" { (labeled_statement "LAB_0014df46:\n                          uVar14 = local_34 + 1;" statement_identifier : (expression_statement "uVar14 = local_34 + 1;" (assignment_expression "uVar14 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined1 *)(local_38 + local_34) = 0x17;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = 0x17" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = number_literal) ;) (expression_statement "iVar6 = local_b4[1];" (assignment_expression "iVar6 = local_b4[1]" identifier = (subscript_expression "local_b4[1]" identifier [ number_literal ])) ;) (expression_statement "local_34 = uVar14;" (assignment_expression "local_34 = uVar14" identifier = identifier) ;) (if_statement "if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }" { (if_statement "if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }" if (parenthesized_expression "(local_30 == uVar14 || (int)(local_30 - uVar14) < 0)" ( (binary_expression "local_30 == uVar14 || (int)(local_30 - uVar14) < 0" (binary_expression "local_30 == uVar14" identifier == identifier) || (binary_expression "(int)(local_30 - uVar14) < 0" (cast_expression "(int)(local_30 - uVar14)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - uVar14)" ( (binary_expression "local_30 - uVar14" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }" { (expression_statement "uVar17 = local_30;" (assignment_expression "uVar17 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                                uVar17 = 0x80;\n                              }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar19 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar19 = (int)uVar17 >> 0x1f" identifier = (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));" do (compound_statement "{\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              }" { (expression_statement "uVar19 = uVar19 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | uVar17 >> 0x1f" identifier = (binary_expression "uVar19 << 1 | uVar17 >> 0x1f" (binary_expression "uVar19 << 1" identifier << number_literal) | (binary_expression "uVar17 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" identifier = (binary_expression "uVar17 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)))" ( (binary_expression "(int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" (cast_expression "(int)(uint)(uVar17 - uVar14 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar17 - uVar14 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 - uVar14 != 0)" ( (binary_expression "uVar17 - uVar14 != 0" (binary_expression "uVar17 - uVar14" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" - (parenthesized_expression "((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" ( (binary_expression "(uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)" (parenthesized_expression "(uVar19 - ((int)uVar14 >> 0x1f))" ( (binary_expression "uVar19 - ((int)uVar14 >> 0x1f)" identifier - (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar17 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < uVar14)" ( (binary_expression "uVar17 < uVar14" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar16 = FUN_00067fc0();" (assignment_expression "iVar16 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;" if (parenthesized_expression "((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))" ( (binary_expression "(iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar16 = FUN_00055930(), iVar16 == 0)" ( (comma_expression "iVar16 = FUN_00055930(), iVar16 == 0" (assignment_expression "iVar16 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014ed09;" goto statement_identifier ;)) (expression_statement "local_38 = iVar16;" (assignment_expression "local_38 = iVar16" identifier = identifier) ;) (expression_statement "local_30 = uVar17;" (assignment_expression "local_30 = uVar17" identifier = identifier) ;) (if_statement "if (local_48 != 0) goto joined_r0x0014e470;" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (goto_statement "goto joined_r0x0014e470;" goto statement_identifier ;)) })) (expression_statement "local_cc._0_1_ = (undefined1)iVar6;" (assignment_expression "local_cc._0_1_ = (undefined1)iVar6" (field_expression "local_cc._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = (undefined1)local_cc" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = (cast_expression "(undefined1)local_cc" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "joined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" statement_identifier : (if_statement "if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" if (parenthesized_expression "((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0))" ( (binary_expression "(piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)" (parenthesized_expression "(piVar4 != (int *)0x0)" ( (binary_expression "piVar4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((short)piVar4[0x22] != 0)" ( (binary_expression "(short)piVar4[0x22] != 0" (cast_expression "(short)piVar4[0x22]" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (subscript_expression "piVar4[0x22]" identifier [ number_literal ])) != number_literal) ))) )) (compound_statement "{\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" { (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (expression_statement "local_94 = 1;" (assignment_expression "local_94 = 1" identifier = number_literal) ;) (do_statement "do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));" do (compound_statement "{\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          }" { (expression_statement "bVar1 = *local_c4;" (assignment_expression "bVar1 = *local_c4" identifier = (pointer_expression "*local_c4" * identifier)) ;) (if_statement "if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" if (parenthesized_expression "(bVar1 == 0)" ( (binary_expression "bVar1 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }" { (labeled_statement "LAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" statement_identifier : (if_statement "if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" if (parenthesized_expression "((char)local_c4[1] < '\0')" ( (binary_expression "(char)local_c4[1] < '\0'" (cast_expression "(char)local_c4[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "local_c4[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }" { (expression_statement "uVar14 = FUN_00044cf0();" (assignment_expression "uVar14 = FUN_00044cf0()" identifier = (call_expression "FUN_00044cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = (uVar14 & 0xff) + 1;" (assignment_expression "iVar6 = (uVar14 & 0xff) + 1" identifier = (binary_expression "(uVar14 & 0xff) + 1" (parenthesized_expression "(uVar14 & 0xff)" ( (binary_expression "uVar14 & 0xff" identifier & number_literal) )) + number_literal)) ;) }) (else_clause "else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" else (compound_statement "{\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" { (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "local_44 = (uint)local_c4[1];" (assignment_expression "local_44 = (uint)local_c4[1]" identifier = (cast_expression "(uint)local_c4[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_c4[1]" identifier [ number_literal ]))) ;) })))) (expression_statement "local_cc = local_44 + iVar6;" (assignment_expression "local_cc = local_44 + iVar6" identifier = (binary_expression "local_44 + iVar6" identifier + identifier)) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }" if (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar16 + 0xc))" ( (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" if (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" ( (binary_expression "(piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" ( (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" ( (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) )))) <= (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }" { (expression_statement "*(undefined4 *)(iVar16 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar16 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar16 + 0x3c)" * (cast_expression "(undefined4 *)(iVar16 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x3c)" ( (binary_expression "iVar16 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar13 = 5;" (assignment_expression "bVar13 = 5" identifier = number_literal) ;) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }) (else_clause "else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" else (compound_statement "{\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" { (expression_statement "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));" (assignment_expression "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" identifier = (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" * (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" ( (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" * (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_dc * 0x28" identifier * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" if (parenthesized_expression "((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" ( (binary_expression "(*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar16 + 0x4d) == '\0')" ( (binary_expression "*(char *)(iVar16 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar16 + 0x4d)" * (cast_expression "(char *)(iVar16 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x4d)" ( (binary_expression "iVar16 + 0x4d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar4[10] != 0xc0a)" ( (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }" { (expression_statement "uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);" (assignment_expression "uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40)" identifier = (binary_expression "piVar4[10] & *(uint *)(iVar16 + 0x40)" (subscript_expression "piVar4[10]" identifier [ number_literal ]) & (pointer_expression "*(uint *)(iVar16 + 0x40)" * (cast_expression "(uint *)(iVar16 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0x40)" ( (binary_expression "iVar16 + 0x40" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" else (compound_statement "{\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" { (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" identifier = (call_expression "FUN_0004c680()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }" if (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar16 + 0xc))" ( (pointer_expression "*(int *)(iVar16 + 0xc)" * (cast_expression "(int *)(iVar16 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 0xc)" ( (binary_expression "iVar16 + 0xc" identifier + number_literal) )))) ))) ;) })) (expression_statement "uVar14 = local_cc;" (assignment_expression "uVar14 = local_cc" identifier = identifier) ;) (if_statement "if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" if (parenthesized_expression "(bVar1 == bVar13)" ( (binary_expression "bVar1 == bVar13" identifier == identifier) )) (compound_statement "{\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }" { (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "sVar11 = FUN_0007f360();" (assignment_expression "sVar11 = FUN_0007f360()" identifier = (call_expression "FUN_0007f360()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar17 = local_44;" (assignment_expression "uVar17 = local_44" identifier = identifier) ;) (if_statement "if (local_44 != sVar11) goto LAB_0014e743;" if (parenthesized_expression "(local_44 != sVar11)" ( (binary_expression "local_44 != sVar11" identifier != identifier) )) (goto_statement "goto LAB_0014e743;" goto statement_identifier ;)) (if_statement "if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (compound_statement "{\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }" { (expression_statement "uVar8 = FUN_0004c5d0();" (assignment_expression "uVar8 = FUN_0004c5d0()" identifier = (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "__s2 = (void *)FUN_0007f710(uVar8);" (assignment_expression "__s2 = (void *)FUN_0007f710(uVar8)" identifier = (cast_expression "(void *)FUN_0007f710(uVar8)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0007f710(uVar8)" identifier (argument_list "(uVar8)" ( identifier ))))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);" (assignment_expression "iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17)" identifier = (call_expression "memcmp(local_c4 + iVar6,__s2,uVar17)" identifier (argument_list "(local_c4 + iVar6,__s2,uVar17)" ( (binary_expression "local_c4 + iVar6" identifier + identifier) , identifier , identifier )))) ;) (if_statement "if (iVar6 != 0) goto LAB_0014e743;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e743;" goto statement_identifier ;)) })) (if_statement "if (iVar10 != 0) goto LAB_0014e9cb;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e9cb;" goto statement_identifier ;)) (if_statement "if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" if (parenthesized_expression "(pcVar20[local_dc] == '\0')" ( (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }" { (labeled_statement "LAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();" statement_identifier : (expression_statement "iVar6 = FUN_000a19a0();" (assignment_expression "iVar6 = FUN_000a19a0()" identifier = (call_expression "FUN_000a19a0()" identifier (argument_list "()" ( )))) ;)) (if_statement "if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }" { (expression_statement "*(undefined1 *)(local_38 + local_34) = 0;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = 0" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = number_literal) ;) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) })) }) (else_clause "else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" else (if_statement "if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" if (parenthesized_expression "((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        )" ( (binary_expression "(0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)" (parenthesized_expression "(0 < (int)local_cc)" ( (binary_expression "0 < (int)local_cc" number_literal < (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(local_70 = local_48, local_48 == 0)" ( (comma_expression "local_70 = local_48, local_48 == 0" (assignment_expression "local_70 = local_48" identifier = identifier) , (binary_expression "local_48 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;)))) }) (else_clause "else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" else (compound_statement "{\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" { (labeled_statement "LAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" statement_identifier : (if_statement "if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" if (parenthesized_expression "((iVar10 != 0) || ((int)local_cc < 1))" ( (binary_expression "(iVar10 != 0) || ((int)local_cc < 1)" (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "((int)local_cc < 1)" ( (binary_expression "(int)local_cc < 1" (cast_expression "(int)local_cc" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) ))) )) (compound_statement "{\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) }))) (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) })) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (labeled_statement "LAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" statement_identifier : (if_statement "if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" if (parenthesized_expression "((int)(local_30 - local_34) < (int)uVar14)" ( (binary_expression "(int)(local_30 - local_34) < (int)uVar14" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }" { (expression_statement "uVar17 = local_30;" (assignment_expression "uVar17 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                                    uVar17 = 0x80;\n                                  }" { (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar19 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar19 = (int)uVar17 >> 0x1f" identifier = (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);" do (compound_statement "{\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  }" { (expression_statement "uVar19 = uVar19 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | uVar17 >> 0x1f" identifier = (binary_expression "uVar19 << 1 | uVar17 >> 0x1f" (binary_expression "uVar19 << 1" identifier << number_literal) | (binary_expression "uVar17 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" identifier = (binary_expression "uVar17 * 2" identifier * number_literal)) ;) (expression_statement "iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);" (assignment_expression "iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34)" identifier = (binary_expression "(uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34)" (parenthesized_expression "(uVar19 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar19 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar17 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 < local_34)" ( (binary_expression "uVar17 < local_34" identifier < identifier) ))))) ;) (expression_statement "uVar3 = (uint)(uVar17 - local_34 < uVar14);" (assignment_expression "uVar3 = (uint)(uVar17 - local_34 < uVar14)" identifier = (call_expression "(uint)(uVar17 - local_34 < uVar14)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar17 - local_34 < uVar14)" ( (binary_expression "uVar17 - local_34 < uVar14" (binary_expression "uVar17 - local_34" identifier - identifier) < identifier) )))) ;) (expression_statement "iVar6 = iVar16 - ((int)uVar14 >> 0x1f);" (assignment_expression "iVar6 = iVar16 - ((int)uVar14 >> 0x1f)" identifier = (binary_expression "iVar16 - ((int)uVar14 >> 0x1f)" identifier - (parenthesized_expression "((int)uVar14 >> 0x1f)" ( (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) )))) ;) }) while (parenthesized_expression "((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0)" ( (binary_expression "(SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0" (parenthesized_expression "(SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3))" ( (binary_expression "SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)" (call_expression "SBORROW4(iVar16,(int)uVar14 >> 0x1f)" identifier (argument_list "(iVar16,(int)uVar14 >> 0x1f)" ( identifier , (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) != (call_expression "SBORROW4(iVar6,uVar3)" identifier (argument_list "(iVar6,uVar3)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar6 - uVar3) < 0" (cast_expression "(int)(iVar6 - uVar3)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar6 - uVar3)" ( (binary_expression "iVar6 - uVar3" identifier - identifier) ))) < number_literal)) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }" { (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" identifier = identifier) ;) (expression_statement "local_30 = uVar17;" (assignment_expression "local_30 = uVar17" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014eb76;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014eb76;" goto statement_identifier ;)) }) (else_clause "else {\n                                    local_48 = 7;\n                                  }" else (compound_statement "{\n                                    local_48 = 7;\n                                  }" { (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" identifier = number_literal) ;) }))) (if_statement "if (local_70 != 0) goto LAB_0014e590;" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" else (compound_statement "{\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" { (labeled_statement "LAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);" statement_identifier : (expression_statement "memcpy((void *)(local_34 + local_38),local_c4,local_cc);" (call_expression "memcpy((void *)(local_34 + local_38),local_c4,local_cc)" identifier (argument_list "((void *)(local_34 + local_38),local_c4,local_cc)" ( (cast_expression "(void *)(local_34 + local_38)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + local_38)" ( (binary_expression "local_34 + local_38" identifier + identifier) ))) , identifier , identifier ))) ;)) (expression_statement "local_34 = local_34 + uVar14;" (assignment_expression "local_34 = local_34 + uVar14" identifier = (binary_expression "local_34 + uVar14" identifier + identifier)) ;) (if_statement "if (local_70 != 0) goto LAB_0014e560;" if (parenthesized_expression "(local_70 != 0)" ( (binary_expression "local_70 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;)) })))) }))) (labeled_statement "LAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" statement_identifier : (if_statement "if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" { (if_statement "if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" if (parenthesized_expression "(local_24 == local_28 || (int)(local_24 - local_28) < 0)" ( (binary_expression "local_24 == local_28 || (int)(local_24 - local_28) < 0" (binary_expression "local_24 == local_28" identifier == identifier) || (binary_expression "(int)(local_24 - local_28) < 0" (cast_expression "(int)(local_24 - local_28)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_24 - local_28)" ( (binary_expression "local_24 - local_28" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }" { (expression_statement "uVar14 = local_24;" (assignment_expression "uVar14 = local_24" identifier = identifier) ;) (if_statement "if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }" if (parenthesized_expression "(local_24 == 0)" ( (binary_expression "local_24 == 0" identifier == number_literal) )) (compound_statement "{\n                                    uVar14 = 0x80;\n                                  }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar17 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar14 >> 0x1f" identifier = (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));" do (compound_statement "{\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  }" { (expression_statement "uVar17 = uVar17 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar14 >> 0x1f" identifier = (binary_expression "uVar17 << 1 | uVar14 >> 0x1f" (binary_expression "uVar17 << 1" identifier << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" identifier = (binary_expression "uVar14 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)))" ( (binary_expression "(int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" (cast_expression "(int)(uint)(uVar14 - local_28 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar14 - local_28 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 - local_28 != 0)" ( (binary_expression "uVar14 - local_28 != 0" (binary_expression "uVar14 - local_28" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" - (parenthesized_expression "((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" ( (binary_expression "(uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)" (parenthesized_expression "(uVar17 - ((int)local_28 >> 0x1f))" ( (binary_expression "uVar17 - ((int)local_28 >> 0x1f)" identifier - (parenthesized_expression "((int)local_28 >> 0x1f)" ( (binary_expression "(int)local_28 >> 0x1f" (cast_expression "(int)local_28" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar14 < local_28)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_28)" ( (binary_expression "uVar14 < local_28" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }" if (parenthesized_expression "((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0))" ( (binary_expression "(iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(uVar17 = FUN_00055930(), uVar17 != 0)" ( (comma_expression "uVar17 = FUN_00055930(), uVar17 != 0" (assignment_expression "uVar17 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "uVar17 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }" { (expression_statement "local_2c = uVar17;" (assignment_expression "local_2c = uVar17" identifier = identifier) ;) (expression_statement "local_24 = uVar14;" (assignment_expression "local_24 = uVar14" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014e9b4;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014e9b4;" goto statement_identifier ;)) }) (else_clause "else {\n                                    local_48 = 7;\n                                  }" else (compound_statement "{\n                                    local_48 = 7;\n                                  }" { (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" identifier = number_literal) ;) }))) }) (else_clause "else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" else (compound_statement "{\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" { (labeled_statement "LAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;" statement_identifier : (expression_statement "*(undefined1 *)(local_2c + local_28) = 0;" (assignment_expression "*(undefined1 *)(local_2c + local_28) = 0" (pointer_expression "*(undefined1 *)(local_2c + local_28)" * (cast_expression "(undefined1 *)(local_2c + local_28)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_2c + local_28)" ( (binary_expression "local_2c + local_28" identifier + identifier) )))) = number_literal) ;)) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" identifier = (binary_expression "local_28 + 1" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" else (compound_statement "{\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" { (if_statement "if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }" if (parenthesized_expression "(2 < bVar1)" ( (binary_expression "2 < bVar1" number_literal < identifier) )) (compound_statement "{\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }" { (if_statement "if (bVar1 != 5) goto LAB_0014e690;" if (parenthesized_expression "(bVar1 != 5)" ( (binary_expression "bVar1 != 5" identifier != number_literal) )) (goto_statement "goto LAB_0014e690;" goto statement_identifier ;)) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" if (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" ( (binary_expression "(piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" ( (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" ( (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) )))) <= (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }" { (expression_statement "*(undefined4 *)(iVar6 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar6 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar6 + 0x3c)" * (cast_expression "(undefined4 *)(iVar6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "cVar12 = '\x05';" (assignment_expression "cVar12 = '\x05'" identifier = (char_literal "'\x05'" ' escape_sequence ')) ;) }) (else_clause "else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" else (compound_statement "{\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" { (expression_statement "cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));" (assignment_expression "cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" identifier = (pointer_expression "*(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" * (cast_expression "(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f)" ( (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" * (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_dc * 0x28" identifier * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" if (parenthesized_expression "((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" ( (binary_expression "(*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar6 + 0x4d) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x4d)" * (cast_expression "(char *)(iVar6 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x4d)" ( (binary_expression "iVar6 + 0x4d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar4[10] != 0xc0a)" ( (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }" { (expression_statement "uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);" (assignment_expression "uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40)" identifier = (binary_expression "piVar4[10] & *(uint *)(iVar6 + 0x40)" (subscript_expression "piVar4[10]" identifier [ number_literal ]) & (pointer_expression "*(uint *)(iVar6 + 0x40)" * (cast_expression "(uint *)(iVar6 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x40)" ( (binary_expression "iVar6 + 0x40" identifier + number_literal) )))))) ;) }) (else_clause "else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" else (compound_statement "{\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" { (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" identifier = (call_expression "FUN_0004c680()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) })) (if_statement "if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }" if (parenthesized_expression "(cVar12 == '\x05')" ( (binary_expression "cVar12 == '\x05'" identifier == (char_literal "'\x05'" ' escape_sequence ')) )) (compound_statement "{\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }" { (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (if_statement "if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e8bd;" goto statement_identifier ;) })) (labeled_statement "LAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;" statement_identifier : (if_statement "if (pcVar20[local_dc] == '\0') goto LAB_0014e900;" if (parenthesized_expression "(pcVar20[local_dc] == '\0')" ( (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0014e900;" goto statement_identifier ;))) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) })) (if_statement "if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e560;" goto statement_identifier ;) })) (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }" { (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) })) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" identifier = number_literal) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;) })) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" * (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcf5)" ( (binary_expression "unaff_EDI + 0x6dcf5" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" if (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" ( (binary_expression "(piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" ( (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) == number_literal) )) || (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" ( (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) )))) <= (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }" { (expression_statement "*(undefined4 *)(iVar6 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar6 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar6 + 0x3c)" * (cast_expression "(undefined4 *)(iVar6 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x3c)" ( (binary_expression "iVar6 + 0x3c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "bVar13 = 5;" (assignment_expression "bVar13 = 5" identifier = number_literal) ;) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }) (else_clause "else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" else (compound_statement "{\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" { (expression_statement "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));" (assignment_expression "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" identifier = (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" * (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" ( (binary_expression "unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (binary_expression "unaff_EDI + 0x16599" identifier + number_literal) + (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" ( (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" * (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" ( (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" identifier [ number_literal ]) + number_literal) + (binary_expression "local_dc * 0x28" identifier * number_literal)) )))) & number_literal) ))) ))))) ;) }))) (if_statement "if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" if (parenthesized_expression "((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" ( (binary_expression "(*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar6 + 0x4d) == '\0')" ( (binary_expression "*(char *)(iVar6 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x4d)" * (cast_expression "(char *)(iVar6 + 0x4d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x4d)" ( (binary_expression "iVar6 + 0x4d" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(piVar4[10] != 0xc0a)" ( (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" identifier [ number_literal ]) != number_literal) ))) )) (compound_statement "{\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }" { (expression_statement "uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];" (assignment_expression "uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10]" identifier = (binary_expression "*(uint *)(iVar6 + 0x40) & piVar4[10]" (pointer_expression "*(uint *)(iVar6 + 0x40)" * (cast_expression "(uint *)(iVar6 + 0x40)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x40)" ( (binary_expression "iVar6 + 0x40" identifier + number_literal) )))) & (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ;) }) (else_clause "else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" else (compound_statement "{\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" { (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" identifier = (call_expression "FUN_0004c680()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) }))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }" if (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar6 + 0xc))" ( (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) )))) ))) ;) })) (if_statement "if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" if (parenthesized_expression "(bVar1 == bVar13)" ( (binary_expression "bVar1 == bVar13" identifier == identifier) )) (compound_statement "{\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }" { (expression_statement "uVar14 = *(uint *)(local_c4 + 1);" (assignment_expression "uVar14 = *(uint *)(local_c4 + 1)" identifier = (pointer_expression "*(uint *)(local_c4 + 1)" * (cast_expression "(uint *)(local_c4 + 1)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c4 + 1)" ( (binary_expression "local_c4 + 1" identifier + number_literal) ))))) ;) (expression_statement "uVar17 = *(uint *)(local_c4 + 5);" (assignment_expression "uVar17 = *(uint *)(local_c4 + 5)" identifier = (pointer_expression "*(uint *)(local_c4 + 5)" * (cast_expression "(uint *)(local_c4 + 5)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_c4 + 5)" ( (binary_expression "local_c4 + 5" identifier + number_literal) ))))) ;) (expression_statement "uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;" (assignment_expression "uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18" identifier = (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" ( (binary_expression "uVar14 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" ( (binary_expression "uVar14 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar14 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18" identifier = (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" ( (binary_expression "uVar17 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" ( (binary_expression "uVar17 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar17 << 0x18" identifier << number_literal))) ;) (if_statement "if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }" if (parenthesized_expression "(bVar1 == 1)" ( (binary_expression "bVar1 == 1" identifier == number_literal) )) (compound_statement "{\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }" { (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar24 = FUN_00045540();" (assignment_expression "lVar24 = FUN_00045540()" identifier = (call_expression "FUN_00045540()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;" if (parenthesized_expression "(lVar24 == CONCAT44(uVar14,uVar17))" ( (binary_expression "lVar24 == CONCAT44(uVar14,uVar17)" identifier == (call_expression "CONCAT44(uVar14,uVar17)" identifier (argument_list "(uVar14,uVar17)" ( identifier , identifier )))) )) (goto_statement "goto LAB_0014e89a;" goto statement_identifier ;)) (goto_statement "goto LAB_0014e65d;" goto statement_identifier ;) })) (expression_statement "local_44 = uVar17;" (assignment_expression "local_44 = uVar17" identifier = identifier) ;) (expression_statement "local_40 = uVar14;" (assignment_expression "local_40 = uVar14" identifier = identifier) ;) (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" identifier (argument_list "()" ( ))) ;) (expression_statement "lVar22 = (longdouble)FUN_000455a0();" (assignment_expression "lVar22 = (longdouble)FUN_000455a0()" identifier = (cast_expression "(longdouble)FUN_000455a0()" ( (type_descriptor "longdouble" type_identifier) ) (call_expression "FUN_000455a0()" identifier (argument_list "()" ( ))))) ;) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;" if (parenthesized_expression "((double)lVar22 != (double)CONCAT44(uVar14,uVar17))" ( (binary_expression "(double)lVar22 != (double)CONCAT44(uVar14,uVar17)" (cast_expression "(double)lVar22" ( (type_descriptor "double" primitive_type) ) identifier) != (cast_expression "(double)CONCAT44(uVar14,uVar17)" ( (type_descriptor "double" primitive_type) ) (call_expression "CONCAT44(uVar14,uVar17)" identifier (argument_list "(uVar14,uVar17)" ( identifier , identifier ))))) )) (goto_statement "goto LAB_0014e65d;" goto statement_identifier ;)) (labeled_statement "LAB_0014e89a:\n                                local_cc = 9;" statement_identifier : (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;)) (if_statement "if (iVar10 != 0) goto LAB_0014e9cb;" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e9cb;" goto statement_identifier ;)) (expression_statement "uVar14 = 9;" (assignment_expression "uVar14 = 9" identifier = number_literal) ;) (labeled_statement "LAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;" statement_identifier : (if_statement "if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;" if (parenthesized_expression "(pcVar20[local_dc] == '\0')" ( (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_0014e8c6;" goto statement_identifier ;))) (expression_statement "local_70 = local_48;" (assignment_expression "local_70 = local_48" identifier = identifier) ;) (if_statement "if (local_48 == 0) goto LAB_0014eaca;" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" else (compound_statement "{\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" { (labeled_statement "LAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" statement_identifier : (if_statement "if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" { (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" identifier = identifier) ;) (if_statement "if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }" { (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "uVar14 = 9;" (assignment_expression "uVar14 = 9" identifier = number_literal) ;) (goto_statement "goto LAB_0014eaca;" goto statement_identifier ;) })) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (goto_statement "goto LAB_0014e590;" goto statement_identifier ;) }))) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" identifier = number_literal) ;) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" identifier = number_literal) ;) (labeled_statement "LAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }" statement_identifier : (if_statement "if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }" if (parenthesized_expression "(local_48 == 0)" ( (binary_expression "local_48 == 0" identifier == number_literal) )) (compound_statement "{\n                                  FUN_000a1c40(&local_48);\n                                }" { (expression_statement "FUN_000a1c40(&local_48);" (call_expression "FUN_000a1c40(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) }))) }))) }))) (labeled_statement "LAB_0014e590:\n                            local_dc = local_dc + 1;" statement_identifier : (expression_statement "local_dc = local_dc + 1;" (assignment_expression "local_dc = local_dc + 1" identifier = (binary_expression "local_dc + 1" identifier + number_literal)) ;)) (expression_statement "local_c4 = local_c4 + local_cc;" (assignment_expression "local_c4 = local_c4 + local_cc" identifier = (binary_expression "local_c4 + local_cc" identifier + identifier)) ;) }) while (parenthesized_expression "((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22))" ( (binary_expression "(int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)local_dc" ( (type_descriptor "int" primitive_type) ) identifier) < (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(piVar4 + 0x22)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x22)" ( (binary_expression "piVar4 + 0x22" identifier + number_literal) ))))) )) ;) (if_statement "if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }" if (parenthesized_expression "(local_94 == 0)" ( (binary_expression "local_94 == 0" identifier == number_literal) )) (compound_statement "{\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }" { (expression_statement "FUN_000a1a70(&local_48);" (call_expression "FUN_000a1a70(&local_48)" identifier (argument_list "(&local_48)" ( (pointer_expression "&local_48" & identifier) ))) ;) (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" identifier = identifier) ;) })) }))) (expression_statement "local_34 = uVar9;" (assignment_expression "local_34 = uVar9" identifier = identifier) ;) (expression_statement "FUN_00044000(local_2c);" (call_expression "FUN_00044000(local_2c)" identifier (argument_list "(local_2c)" ( identifier ))) ;) (expression_statement "local_5c = local_48;" (assignment_expression "local_5c = local_48" identifier = identifier) ;) }))) }) (else_clause "else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" else (if_statement "if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" if (parenthesized_expression "(*local_b4 != 0x12)" ( (binary_expression "*local_b4 != 0x12" (pointer_expression "*local_b4" * identifier) != number_literal) )) (compound_statement "{\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" { (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" identifier = number_literal) ;) (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" if (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" ( (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" identifier == identifier) || (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }" { (expression_statement "uVar14 = local_30;" (assignment_expression "uVar14 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                          uVar14 = 0x80;\n                        }" { (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar9 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar14 >> 0x1f" identifier = (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));" do (compound_statement "{\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        }" { (expression_statement "uVar9 = uVar9 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar9 = uVar9 << 1 | uVar14 >> 0x1f" identifier = (binary_expression "uVar9 << 1 | uVar14 >> 0x1f" (binary_expression "uVar9 << 1" identifier << number_literal) | (binary_expression "uVar14 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" identifier = (binary_expression "uVar14 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)))" ( (binary_expression "(int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" (cast_expression "(int)(uint)(uVar14 - local_34 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar14 - local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 - local_34 != 0)" ( (binary_expression "uVar14 - local_34 != 0" (binary_expression "uVar14 - local_34" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" - (parenthesized_expression "((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" ( (binary_expression "(uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)" (parenthesized_expression "(uVar9 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar9 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar14 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar14 < local_34)" ( (binary_expression "uVar14 < local_34" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" ( (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }" { (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" identifier = identifier) ;) (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" identifier = identifier) ;) (expression_statement "local_30 = uVar14;" (assignment_expression "local_30 = uVar14" identifier = identifier) ;) (if_statement "if (local_44 == 0) goto LAB_0014e098;" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014e098;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" else (compound_statement "{\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" { (labeled_statement "LAB_0014ecf9:\n                          local_44 = 7;" statement_identifier : (expression_statement "local_44 = 7;" (assignment_expression "local_44 = 7" identifier = number_literal) ;)) }))) }) (else_clause "else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" else (compound_statement "{\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" { (labeled_statement "LAB_0014e098:\n                        local_34 = uVar9 + 1;" statement_identifier : (expression_statement "local_34 = uVar9 + 1;" (assignment_expression "local_34 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;)) (expression_statement "*(undefined1 *)(local_38 + uVar9) = 9;" (assignment_expression "*(undefined1 *)(local_38 + uVar9) = 9" (pointer_expression "*(undefined1 *)(local_38 + uVar9)" * (cast_expression "(undefined1 *)(local_38 + uVar9)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + uVar9)" ( (binary_expression "local_38 + uVar9" identifier + identifier) )))) = number_literal) ;) (expression_statement "iVar6 = local_b4[1];" (assignment_expression "iVar6 = local_b4[1]" identifier = (subscript_expression "local_b4[1]" identifier [ number_literal ])) ;) (if_statement "if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }" if (parenthesized_expression "(local_44 == 0)" ( (binary_expression "local_44 == 0" identifier == number_literal) )) (compound_statement "{\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }" { (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }" if (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" ( (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" identifier == identifier) || (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_30 - local_34)" ( (binary_expression "local_30 - local_34" identifier - identifier) ))) < number_literal)) )) (compound_statement "{\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }" { (expression_statement "uVar9 = local_30;" (assignment_expression "uVar9 = local_30" identifier = identifier) ;) (if_statement "if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n                              uVar9 = 0x80;\n                            }" { (expression_statement "uVar9 = 0x80;" (assignment_expression "uVar9 = 0x80" identifier = number_literal) ;) })) (expression_statement "uVar14 = (int)uVar9 >> 0x1f;" (assignment_expression "uVar14 = (int)uVar9 >> 0x1f" identifier = (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (do_statement "do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));" do (compound_statement "{\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            }" { (expression_statement "uVar14 = uVar14 << 1 | uVar9 >> 0x1f;" (assignment_expression "uVar14 = uVar14 << 1 | uVar9 >> 0x1f" identifier = (binary_expression "uVar14 << 1 | uVar9 >> 0x1f" (binary_expression "uVar14 << 1" identifier << number_literal) | (binary_expression "uVar9 >> 0x1f" identifier >> number_literal))) ;) (expression_statement "uVar9 = uVar9 * 2;" (assignment_expression "uVar9 = uVar9 * 2" identifier = (binary_expression "uVar9 * 2" identifier * number_literal)) ;) }) while (parenthesized_expression "((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)))" ( (binary_expression "(int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" (cast_expression "(int)(uint)(uVar9 - local_34 != 0)" ( (type_descriptor "int" primitive_type) ) (call_expression "(uint)(uVar9 - local_34 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 - local_34 != 0)" ( (binary_expression "uVar9 - local_34 != 0" (binary_expression "uVar9 - local_34" identifier - identifier) != number_literal) )))) <= (cast_expression "(int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" ( (type_descriptor "int" primitive_type) ) (unary_expression "-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" - (parenthesized_expression "((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" ( (binary_expression "(uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)" (parenthesized_expression "(uVar14 - ((int)local_34 >> 0x1f))" ( (binary_expression "uVar14 - ((int)local_34 >> 0x1f)" identifier - (parenthesized_expression "((int)local_34 >> 0x1f)" ( (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) ))) )) - (call_expression "(uint)(uVar9 < local_34)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar9 < local_34)" ( (binary_expression "uVar9 < local_34" identifier < identifier) )))) ))))) )) ;) (expression_statement "iVar16 = FUN_00067fc0();" (assignment_expression "iVar16 = FUN_00067fc0()" identifier = (call_expression "FUN_00067fc0()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;" if (parenthesized_expression "((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))" ( (binary_expression "(iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0)" (parenthesized_expression "(iVar16 != 0)" ( (binary_expression "iVar16 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar16 = FUN_00055930(), iVar16 == 0)" ( (comma_expression "iVar16 = FUN_00055930(), iVar16 == 0" (assignment_expression "iVar16 = FUN_00055930()" identifier = (call_expression "FUN_00055930()" identifier (argument_list "()" ( )))) , (binary_expression "iVar16 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0014ecf9;" goto statement_identifier ;)) (expression_statement "local_38 = iVar16;" (assignment_expression "local_38 = iVar16" identifier = identifier) ;) (expression_statement "local_30 = uVar9;" (assignment_expression "local_30 = uVar9" identifier = identifier) ;) (if_statement "if (local_44 != 0) goto LAB_0014e17a;" if (parenthesized_expression "(local_44 != 0)" ( (binary_expression "local_44 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014e17a;" goto statement_identifier ;)) })) (expression_statement "local_94._0_1_ = (undefined1)iVar6;" (assignment_expression "local_94._0_1_ = (undefined1)iVar6" (field_expression "local_94._0_1_" identifier . field_identifier) = (cast_expression "(undefined1)iVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "*(undefined1 *)(local_38 + local_34) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(local_38 + local_34)" * (cast_expression "(undefined1 *)(local_38 + local_34)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_38 + local_34)" ( (binary_expression "local_38 + local_34" identifier + identifier) )))) = (cast_expression "(undefined1)local_94" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" identifier = (binary_expression "local_34 + 1" identifier + number_literal)) ;) })) }))) (labeled_statement "LAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];" statement_identifier : (expression_statement "pbVar15 = (byte *)local_b4[3];" (assignment_expression "pbVar15 = (byte *)local_b4[3]" identifier = (cast_expression "(byte *)local_b4[3]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[3]" identifier [ number_literal ]))) ;)) (if_statement "if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }" { (expression_statement "sVar11 = local_b4[2];" (assignment_expression "sVar11 = local_b4[2]" identifier = (subscript_expression "local_b4[2]" identifier [ number_literal ])) ;) (if_statement "if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }" if (parenthesized_expression "((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0))" ( (binary_expression "(0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)" (parenthesized_expression "(0 < (int)sVar11)" ( (binary_expression "0 < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(iVar6 = FUN_000a19a0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_000a19a0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_000a19a0()" identifier = (call_expression "FUN_000a19a0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }" { (expression_statement "memcpy((void *)(local_34 + local_38),pbVar15,sVar11);" (call_expression "memcpy((void *)(local_34 + local_38),pbVar15,sVar11)" identifier (argument_list "((void *)(local_34 + local_38),pbVar15,sVar11)" ( (cast_expression "(void *)(local_34 + local_38)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + local_38)" ( (binary_expression "local_34 + local_38" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_34 = local_34 + sVar11;" (assignment_expression "local_34 = local_34 + sVar11" identifier = (binary_expression "local_34 + sVar11" identifier + identifier)) ;) })) }) (else_clause "else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" else (if_statement "if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" if (parenthesized_expression "(0 < (int)sVar11)" ( (binary_expression "0 < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" { (expression_statement "pcVar7 = pcVar20 + sVar11;" (assignment_expression "pcVar7 = pcVar20 + sVar11" identifier = (binary_expression "pcVar20 + sVar11" identifier + identifier)) ;) (do_statement "do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);" do (compound_statement "{\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        }" { (expression_statement "bVar1 = *pbVar15;" (assignment_expression "bVar1 = *pbVar15" identifier = (pointer_expression "*pbVar15" * identifier)) ;) (expression_statement "pbVar18 = pbVar15 + 1;" (assignment_expression "pbVar18 = pbVar15 + 1" identifier = (binary_expression "pbVar15 + 1" identifier + number_literal)) ;) (if_statement "if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" if (parenthesized_expression "(bVar1 < 3)" ( (binary_expression "bVar1 < 3" identifier < number_literal) )) (compound_statement "{\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }" { (if_statement "if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }" if (parenthesized_expression "(bVar1 != 0)" ( (binary_expression "bVar1 != 0" identifier != number_literal) )) (compound_statement "{\n                              pbVar18 = pbVar15 + 9;\n                            }" { (expression_statement "pbVar18 = pbVar15 + 9;" (assignment_expression "pbVar18 = pbVar15 + 9" identifier = (binary_expression "pbVar15 + 9" identifier + number_literal)) ;) })) (labeled_statement "LAB_0014e1b0:\n                            cVar12 = *pcVar20;" statement_identifier : (expression_statement "cVar12 = *pcVar20;" (assignment_expression "cVar12 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;)) }) (else_clause "else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" else (compound_statement "{\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" { (if_statement "if (bVar1 == 5) goto LAB_0014e1b0;" if (parenthesized_expression "(bVar1 == 5)" ( (binary_expression "bVar1 == 5" identifier == number_literal) )) (goto_statement "goto LAB_0014e1b0;" goto statement_identifier ;)) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) (expression_statement "uVar9 = (uint)pbVar15[1];" (assignment_expression "uVar9 = (uint)pbVar15[1]" identifier = (cast_expression "(uint)pbVar15[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }" if (parenthesized_expression "((char)pbVar15[1] < '\0')" ( (binary_expression "(char)pbVar15[1] < '\0'" (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }" { (expression_statement "uVar14 = FUN_00044cf0();" (assignment_expression "uVar14 = FUN_00044cf0()" identifier = (call_expression "FUN_00044cf0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar9 = local_2c;" (assignment_expression "uVar9 = local_2c" identifier = identifier) ;) })) (expression_statement "pbVar18 = pbVar18 + uVar9 + uVar14;" (assignment_expression "pbVar18 = pbVar18 + uVar9 + uVar14" identifier = (binary_expression "pbVar18 + uVar9 + uVar14" (binary_expression "pbVar18 + uVar9" identifier + identifier) + identifier)) ;) (expression_statement "cVar12 = *pcVar20;" (assignment_expression "cVar12 = *pcVar20" identifier = (pointer_expression "*pcVar20" * identifier)) ;) }))) (if_statement "if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }" if (parenthesized_expression "(((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0))" ( (binary_expression "((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)" (parenthesized_expression "((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11))" ( (binary_expression "(cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)" (parenthesized_expression "(cVar12 != '\0')" ( (binary_expression "cVar12 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)" ( (comma_expression "sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11" (assignment_expression "sVar11 = (int)pbVar18 - (int)pbVar15" identifier = (binary_expression "(int)pbVar18 - (int)pbVar15" (cast_expression "(int)pbVar18" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pbVar15" ( (type_descriptor "int" primitive_type) ) identifier))) , (binary_expression "0 < (int)sVar11" number_literal < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier))) ))) )) && (parenthesized_expression "(iVar6 = FUN_000a19a0(), iVar6 == 0)" ( (comma_expression "iVar6 = FUN_000a19a0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_000a19a0()" identifier = (call_expression "FUN_000a19a0()" identifier (argument_list "()" ( )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }" { (expression_statement "memcpy((void *)(local_34 + local_38),pbVar15,sVar11);" (call_expression "memcpy((void *)(local_34 + local_38),pbVar15,sVar11)" identifier (argument_list "((void *)(local_34 + local_38),pbVar15,sVar11)" ( (cast_expression "(void *)(local_34 + local_38)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_34 + local_38)" ( (binary_expression "local_34 + local_38" identifier + identifier) ))) , identifier , identifier ))) ;) (expression_statement "local_34 = local_34 + sVar11;" (assignment_expression "local_34 = local_34 + sVar11" identifier = (binary_expression "local_34 + sVar11" identifier + identifier)) ;) })) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" identifier = (binary_expression "pcVar20 + 1" identifier + number_literal)) ;) (expression_statement "pbVar15 = pbVar18;" (assignment_expression "pbVar15 = pbVar18" identifier = identifier) ;) }) while (parenthesized_expression "(pcVar20 != pcVar7)" ( (binary_expression "pcVar20 != pcVar7" identifier != identifier) )) ;) })))) (expression_statement "local_5c = local_44;" (assignment_expression "local_5c = local_44" identifier = identifier) ;) })))) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_5c != 0) goto LAB_0014d9b9;" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (expression_statement "local_5c = FUN_000bfe40(local_4c);" (assignment_expression "local_5c = FUN_000bfe40(local_4c)" identifier = (call_expression "FUN_000bfe40(local_4c)" identifier (argument_list "(local_4c)" ( identifier )))) ;) (if_statement "if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" if (parenthesized_expression "(extraout_ECX == (code *)0x0)" ( (binary_expression "extraout_ECX == (code *)0x0" identifier == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                      bVar21 = local_5c == 0;\n                    }" { (expression_statement "bVar21 = local_5c == 0;" (assignment_expression "bVar21 = local_5c == 0" identifier = (binary_expression "local_5c == 0" identifier == number_literal)) ;) }) (else_clause "else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" else (compound_statement "{\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" { (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_5c != 0) goto LAB_0014d9b9;" if (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (if_statement "if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }" if (parenthesized_expression "(((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34))" ( (binary_expression "((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)" (parenthesized_expression "((int)local_74 < (int)local_34)" ( (binary_expression "(int)local_74 < (int)local_34" (cast_expression "(int)local_74" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)" ( (binary_expression "*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34" (pointer_expression "*(int *)(&DAT_0006dc5d + unaff_EDI)" * (cast_expression "(int *)(&DAT_0006dc5d + unaff_EDI)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_0006dc5d + unaff_EDI)" ( (binary_expression "&DAT_0006dc5d + unaff_EDI" (pointer_expression "&DAT_0006dc5d" & identifier) + identifier) )))) < (cast_expression "(int)local_34" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }" { (expression_statement "local_5c = (*extraout_ECX)(param_1,local_38,local_34);" (assignment_expression "local_5c = (*extraout_ECX)(param_1,local_38,local_34)" identifier = (call_expression "(*extraout_ECX)(param_1,local_38,local_34)" (parenthesized_expression "(*extraout_ECX)" ( (pointer_expression "*extraout_ECX" * identifier) )) (argument_list "(param_1,local_38,local_34)" ( identifier , identifier , identifier )))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "bVar21 = local_5c == 0;" (assignment_expression "bVar21 = local_5c == 0" identifier = (binary_expression "local_5c == 0" identifier == number_literal)) ;) (expression_statement "local_74 = 0xffffffff;" (assignment_expression "local_74 = 0xffffffff" identifier = number_literal) ;) }) (else_clause "else {\n                        bVar21 = true;\n                      }" else (compound_statement "{\n                        bVar21 = true;\n                      }" { (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) }))) }))) }) (else_clause "else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" else (compound_statement "{\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));" do (compound_statement "{\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    }" { (expression_statement "iVar16 = iVar6 + 1;" (assignment_expression "iVar16 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }" if (parenthesized_expression "(*pbVar15 < 6)" ( (binary_expression "*pbVar15 < 6" (pointer_expression "*pbVar15" * identifier) < number_literal) )) (compound_statement "{\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }" { (expression_statement "uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();" (assignment_expression "uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))()" identifier = (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))" ( (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" * (cast_expression "(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" ( (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1" (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" * (cast_expression "(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" ( (binary_expression "unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4" (binary_expression "unaff_EDI + 0x146f1" identifier + number_literal) + (binary_expression "(uint)*pbVar15 * 4" (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" ( identifier )) * identifier) * number_literal)) )))) + identifier) + number_literal) )))) )) (argument_list "()" ( )))) ;) (return_statement "return uVar5;" return identifier ;) })) (expression_statement "uVar9 = (uint)pbVar15[1];" (assignment_expression "uVar9 = (uint)pbVar15[1]" identifier = (cast_expression "(uint)pbVar15[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ]))) ;) (if_statement "if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }" if (parenthesized_expression "((char)pbVar15[1] < '\0')" ( (binary_expression "(char)pbVar15[1] < '\0'" (cast_expression "(char)pbVar15[1]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "pbVar15[1]" identifier [ number_literal ])) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }" { (expression_statement "bVar1 = pbVar15[2];" (assignment_expression "bVar1 = pbVar15[2]" identifier = (subscript_expression "pbVar15[2]" identifier [ number_literal ])) ;) (if_statement "if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" if (parenthesized_expression "((char)bVar1 < '\0')" ( (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" ( (type_descriptor "char" primitive_type) ) identifier) < (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }" { (if_statement "if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" if (parenthesized_expression "((pbVar15[3] & 0x80) == 0)" ( (binary_expression "(pbVar15[3] & 0x80) == 0" (parenthesized_expression "(pbVar15[3] & 0x80)" ( (binary_expression "pbVar15[3] & 0x80" (subscript_expression "pbVar15[3]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }" { (expression_statement "uVar14 = 3;" (assignment_expression "uVar14 = 3" identifier = number_literal) ;) (expression_statement "uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;" (assignment_expression "uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7" identifier = (binary_expression "(uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7" (binary_expression "(uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f" (parenthesized_expression "(uVar9 << 0xe | (uint)pbVar15[3])" ( (binary_expression "uVar9 << 0xe | (uint)pbVar15[3]" (binary_expression "uVar9 << 0xe" identifier << number_literal) | (cast_expression "(uint)pbVar15[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar15[3]" identifier [ number_literal ]))) )) & number_literal) | (binary_expression "(bVar1 & 0x7f) << 7" (parenthesized_expression "(bVar1 & 0x7f)" ( (binary_expression "bVar1 & 0x7f" identifier & number_literal) )) << number_literal))) ;) }) (else_clause "else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" else (compound_statement "{\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" { (expression_statement "uVar14 = FUN_0003b460();" (assignment_expression "uVar14 = FUN_0003b460()" identifier = (call_expression "FUN_0003b460()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }" if (parenthesized_expression "(local_28 == 0)" ( (binary_expression "local_28 == 0" identifier == number_literal) )) (compound_statement "{\n                              uVar9 = local_2c;\n                            }" { (expression_statement "uVar9 = local_2c;" (assignment_expression "uVar9 = local_2c" identifier = identifier) ;) })) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" identifier = (binary_expression "uVar14 & 0xff" identifier & number_literal)) ;) }))) }) (else_clause "else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" else (compound_statement "{\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" { (expression_statement "uVar14 = 2;" (assignment_expression "uVar14 = 2" identifier = number_literal) ;) (expression_statement "uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;" (assignment_expression "uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1" identifier = (binary_expression "(uVar9 & 0x7f) << 7 | (uint)bVar1" (binary_expression "(uVar9 & 0x7f) << 7" (parenthesized_expression "(uVar9 & 0x7f)" ( (binary_expression "uVar9 & 0x7f" identifier & number_literal) )) << number_literal) | (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) }))) }) (else_clause "else {\n                        uVar14 = 1;\n                      }" else (compound_statement "{\n                        uVar14 = 1;\n                      }" { (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" identifier = number_literal) ;) }))) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" identifier = true) ;) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" identifier = number_literal) ;) (if_statement "if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }" if (parenthesized_expression "(pcVar20[iVar6] != '\0')" ( (binary_expression "pcVar20[iVar6] != '\0'" (subscript_expression "pcVar20[iVar6]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }" { (expression_statement "local_dc = FUN_00079820();" (assignment_expression "local_dc = FUN_00079820()" identifier = (call_expression "FUN_00079820()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" identifier = false) ;) (if_statement "if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }" if (parenthesized_expression "(local_dc == 0)" ( (binary_expression "local_dc == 0" identifier == number_literal) )) (compound_statement "{\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }" { (expression_statement "local_dc = FUN_00071970(uVar9,0xffffffff,0);" (assignment_expression "local_dc = FUN_00071970(uVar9,0xffffffff,0)" identifier = (call_expression "FUN_00071970(uVar9,0xffffffff,0)" identifier (argument_list "(uVar9,0xffffffff,0)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "bVar21 = local_dc == 0;" (assignment_expression "bVar21 = local_dc == 0" identifier = (binary_expression "local_dc == 0" identifier == number_literal)) ;) })) })) (expression_statement "pbVar15 = pbVar15 + uVar9 + uVar14 + 1;" (assignment_expression "pbVar15 = pbVar15 + uVar9 + uVar14 + 1" identifier = (binary_expression "pbVar15 + uVar9 + uVar14 + 1" (binary_expression "pbVar15 + uVar9 + uVar14" (binary_expression "pbVar15 + uVar9" identifier + identifier) + identifier) + number_literal)) ;) (expression_statement "iVar6 = iVar16;" (assignment_expression "iVar6 = iVar16" identifier = identifier) ;) }) while (parenthesized_expression "((bool)(iVar16 < (int)sVar11 & bVar21))" ( (cast_expression "(bool)(iVar16 < (int)sVar11 & bVar21)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(iVar16 < (int)sVar11 & bVar21)" ( (binary_expression "iVar16 < (int)sVar11 & bVar21" (binary_expression "iVar16 < (int)sVar11" identifier < (cast_expression "(int)sVar11" ( (type_descriptor "int" primitive_type) ) identifier)) & identifier) ))) )) ;) (expression_statement "local_5c = local_dc;" (assignment_expression "local_5c = local_dc" identifier = identifier) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) (if_statement "if (local_dc == 0) goto LAB_0014ddea;" if (parenthesized_expression "(local_dc == 0)" ( (binary_expression "local_dc == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014ddea;" goto statement_identifier ;)) }))) (expression_statement "local_b4 = (int *)local_b4[4];" (assignment_expression "local_b4 = (int *)local_b4[4]" identifier = (cast_expression "(int *)local_b4[4]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_b4[4]" identifier [ number_literal ]))) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) }) while (parenthesized_expression "((local_b4 != (int *)0x0) && (bVar21))" ( (binary_expression "(local_b4 != (int *)0x0) && (bVar21)" (parenthesized_expression "(local_b4 != (int *)0x0)" ( (binary_expression "local_b4 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar21)" ( identifier ))) )) ;) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) (expression_statement "iVar6 = local_c0[7];" (assignment_expression "iVar6 = local_c0[7]" identifier = (subscript_expression "local_c0[7]" identifier [ number_literal ])) ;) (if_statement "if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;" if (parenthesized_expression "((iVar6 <= local_88) || (local_5c != 0))" ( (binary_expression "(iVar6 <= local_88) || (local_5c != 0)" (parenthesized_expression "(iVar6 <= local_88)" ( (binary_expression "iVar6 <= local_88" identifier <= identifier) )) || (parenthesized_expression "(local_5c != 0)" ( (binary_expression "local_5c != 0" identifier != number_literal) ))) )) (goto_statement "goto LAB_0014d9b9;" goto statement_identifier ;)) (expression_statement "iVar16 = local_c0[8];" (assignment_expression "iVar16 = local_c0[8]" identifier = (subscript_expression "local_c0[8]" identifier [ number_literal ])) ;) })) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" identifier = (binary_expression "local_88 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_88 < iVar6)" ( (binary_expression "local_88 < iVar6" identifier < identifier) )) ;) })) }) (else_clause "else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" else (compound_statement "{\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" { (expression_statement "local_74 = local_34;" (assignment_expression "local_74 = local_34" identifier = identifier) ;) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" identifier = identifier) ;) }))) (labeled_statement "LAB_0014d9b9:\n        FUN_000c0450(piVar4);" statement_identifier : (expression_statement "FUN_000c0450(piVar4);" (call_expression "FUN_000c0450(piVar4)" identifier (argument_list "(piVar4)" ( identifier ))) ;)) (if_statement "if (local_34 == local_74) {\n          local_34 = uVar5;\n        }" if (parenthesized_expression "(local_34 == local_74)" ( (binary_expression "local_34 == local_74" identifier == identifier) )) (compound_statement "{\n          local_34 = uVar5;\n        }" { (expression_statement "local_34 = uVar5;" (assignment_expression "local_34 = uVar5" identifier = identifier) ;) })) (expression_statement "FUN_00044000(local_50);" (call_expression "FUN_00044000(local_50)" identifier (argument_list "(local_50)" ( identifier ))) ;) })) })) (if_statement "if (local_5c == 0) goto LAB_0014da0a;" if (parenthesized_expression "(local_5c == 0)" ( (binary_expression "local_5c == 0" identifier == number_literal) )) (goto_statement "goto LAB_0014da0a;" goto statement_identifier ;)) }))) (expression_statement "FUN_00044000(local_38);" (call_expression "FUN_00044000(local_38)" identifier (argument_list "(local_38)" ( identifier ))) ;) (expression_statement "FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);" (call_expression "FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0)" identifier (argument_list "(iVar2,unaff_EDI + 0x115b3,0,0,0)" ( identifier , (binary_expression "unaff_EDI + 0x115b3" identifier + number_literal) , number_literal , number_literal , number_literal ))) ;) (expression_statement "uVar5 = local_5c;" (assignment_expression "uVar5 = local_5c" identifier = identifier) ;) (if_statement "if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }" if (parenthesized_expression "(*(int *)(iVar2 + 0xc) != 0)" ( (binary_expression "*(int *)(iVar2 + 0xc) != 0" (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }" { (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" ( (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" * (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" * (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x6dcfd)" ( (binary_expression "unaff_EDI + 0x6dcfd" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar2 + 0xc))" ( (pointer_expression "*(int *)(iVar2 + 0xc)" * (cast_expression "(int *)(iVar2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xc)" ( (binary_expression "iVar2 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar5 = local_5c;" (assignment_expression "uVar5 = local_5c" identifier = identifier) ;) })) (labeled_statement "LAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }" statement_identifier : (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }" if (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n    FUN_00153870();\n  }" { (expression_statement "FUN_00153870();" (call_expression "FUN_00153870()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return uVar5;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (binary_expression IDENT + LIT) , LIT , LIT , LIT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) })))) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (for_statement for ( (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ; (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) ; (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) , IDENT )))) , (binary_expression IDENT != LIT)) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (do_statement do (compound_statement { (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))))) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))))) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }))) (labeled_statement statement_identifier : (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 (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (subscript_expression IDENT [ LIT ])) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (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 (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) & LIT) ))) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + IDENT) , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) < IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (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 ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })))) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))))) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (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 (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) & LIT) ))) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (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 (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) + (binary_expression IDENT * LIT)) )))) & LIT) ))) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & (subscript_expression IDENT [ LIT ]))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) }))) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))))) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == IDENT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT * LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT - IDENT) != LIT) )))) <= (cast_expression ( (type_descriptor TYPE) ) (unary_expression - (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) ))))) )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT))) , (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (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 IDENT = (binary_expression IDENT == LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }))) }))) }) (else_clause else (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 (pointer_expression * IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) * LIT)) )))) + IDENT) + LIT) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) | (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) & LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression IDENT + IDENT) + IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) & IDENT) ))) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( IDENT ))) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "uint FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }\n  return uVar5;\n}" (type_identifier "uint") (function_declarator "FUN_0014d740(undefined4 param_1,uint *param_2,int *param_3)" (identifier "FUN_0014d740") (parameter_list "(undefined4 param_1,uint *param_2,int *param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "uint *param_2" (type_identifier "uint") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  char *pcVar7;\n  undefined4 uVar8;\n  void *__s2;\n  code *extraout_ECX;\n  uint uVar9;\n  int iVar10;\n  size_t sVar11;\n  char cVar12;\n  byte bVar13;\n  uint uVar14;\n  byte *pbVar15;\n  int iVar16;\n  uint uVar17;\n  byte *pbVar18;\n  int unaff_EDI;\n  uint uVar19;\n  char *pcVar20;\n  int in_GS_OFFSET;\n  bool bVar21;\n  longdouble lVar22;\n  undefined8 uVar23;\n  longlong lVar24;\n  uint local_dc;\n  uint local_cc;\n  byte *local_c4;\n  undefined4 *local_c0;\n  int *local_b4;\n  uint local_94;\n  int local_88;\n  uint local_74;\n  uint local_70;\n  uint local_5c;\n  size_t local_58;\n  char *local_54;\n  undefined4 local_50;\n  int *local_4c;\n  uint local_48;\n  uint local_44;\n  uint local_40;\n  int local_38;\n  uint local_34;\n  uint local_30;\n  uint local_2c;\n  uint local_28;\n  uint local_24;\n  int local_20;\n  \n  uVar23 = FUN_0003a401();\n  iVar10 = (int)((ulonglong)uVar23 >> 0x20);\n  piVar4 = (int *)uVar23;\n  iVar2 = *piVar4;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_38 = 0;\n  local_34 = 0;\n  local_30 = 0;\n  if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }\n  uVar5 = piVar4[5];\n  if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;\n  if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }\n  FUN_00044000(local_38);\n  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);\n  uVar5 = local_5c;\n  if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }\nLAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }\n  return uVar5;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "void *__s2;" (primitive_type "void") (pointer_declarator "*__s2" (* "*") (identifier "__s2")) (; ";")) (declaration "code *extraout_ECX;" (type_identifier "code") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "size_t sVar11;" (primitive_type "size_t") (identifier "sVar11") (; ";")) (declaration "char cVar12;" (primitive_type "char") (identifier "cVar12") (; ";")) (declaration "byte bVar13;" (type_identifier "byte") (identifier "bVar13") (; ";")) (declaration "uint uVar14;" (type_identifier "uint") (identifier "uVar14") (; ";")) (declaration "byte *pbVar15;" (type_identifier "byte") (pointer_declarator "*pbVar15" (* "*") (identifier "pbVar15")) (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "uint uVar17;" (type_identifier "uint") (identifier "uVar17") (; ";")) (declaration "byte *pbVar18;" (type_identifier "byte") (pointer_declarator "*pbVar18" (* "*") (identifier "pbVar18")) (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (declaration "uint uVar19;" (type_identifier "uint") (identifier "uVar19") (; ";")) (declaration "char *pcVar20;" (primitive_type "char") (pointer_declarator "*pcVar20" (* "*") (identifier "pcVar20")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar21;" (primitive_type "bool") (identifier "bVar21") (; ";")) (declaration "longdouble lVar22;" (type_identifier "longdouble") (identifier "lVar22") (; ";")) (declaration "undefined8 uVar23;" (type_identifier "undefined8") (identifier "uVar23") (; ";")) (declaration "longlong lVar24;" (type_identifier "longlong") (identifier "lVar24") (; ";")) (declaration "uint local_dc;" (type_identifier "uint") (identifier "local_dc") (; ";")) (declaration "uint local_cc;" (type_identifier "uint") (identifier "local_cc") (; ";")) (declaration "byte *local_c4;" (type_identifier "byte") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4")) (; ";")) (declaration "undefined4 *local_c0;" (type_identifier "undefined4") (pointer_declarator "*local_c0" (* "*") (identifier "local_c0")) (; ";")) (declaration "int *local_b4;" (primitive_type "int") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")) (; ";")) (declaration "uint local_94;" (type_identifier "uint") (identifier "local_94") (; ";")) (declaration "int local_88;" (primitive_type "int") (identifier "local_88") (; ";")) (declaration "uint local_74;" (type_identifier "uint") (identifier "local_74") (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "uint local_5c;" (type_identifier "uint") (identifier "local_5c") (; ";")) (declaration "size_t local_58;" (primitive_type "size_t") (identifier "local_58") (; ";")) (declaration "char *local_54;" (primitive_type "char") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "int *local_4c;" (primitive_type "int") (pointer_declarator "*local_4c" (* "*") (identifier "local_4c")) (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "uint local_44;" (type_identifier "uint") (identifier "local_44") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "uint local_34;" (type_identifier "uint") (identifier "local_34") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (declaration "uint local_28;" (type_identifier "uint") (identifier "local_28") (; ";")) (declaration "uint local_24;" (type_identifier "uint") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (expression_statement "uVar23 = FUN_0003a401();" (assignment_expression "uVar23 = FUN_0003a401()" (identifier "uVar23") (= "=") (call_expression "FUN_0003a401()" (identifier "FUN_0003a401") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar10 = (int)((ulonglong)uVar23 >> 0x20);" (assignment_expression "iVar10 = (int)((ulonglong)uVar23 >> 0x20)" (identifier "iVar10") (= "=") (cast_expression "(int)((ulonglong)uVar23 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar23 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar23 >> 0x20" (cast_expression "(ulonglong)uVar23" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar23")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "piVar4 = (int *)uVar23;" (assignment_expression "piVar4 = (int *)uVar23" (identifier "piVar4") (= "=") (cast_expression "(int *)uVar23" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar23"))) (; ";")) (expression_statement "iVar2 = *piVar4;" (assignment_expression "iVar2 = *piVar4" (identifier "iVar2") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (if_statement "if (extraout_ECX == (code *)0x0) {\n    *param_2 = 0;\n    *param_3 = 0;\n  }" (if "if") (parenthesized_expression "(extraout_ECX == (code *)0x0)" (( "(") (binary_expression "extraout_ECX == (code *)0x0" (identifier "extraout_ECX") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *param_2 = 0;\n    *param_3 = 0;\n  }" ({ "{") (expression_statement "*param_2 = 0;" (assignment_expression "*param_2 = 0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_3 = 0;" (assignment_expression "*param_3 = 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "uVar5 = piVar4[5];" (assignment_expression "uVar5 = piVar4[5]" (identifier "uVar5") (= "=") (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]"))) (; ";")) (if_statement "if ((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))\n  goto LAB_0014d7d0;" (if "if") (parenthesized_expression "((piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))" (( "(") (binary_expression "(piVar4[5] != 0) ||\n     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0)" (parenthesized_expression "(piVar4[5] != 0)" (( "(") (binary_expression "piVar4[5] != 0" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0)" (( "(") (comma_expression "local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0" (assignment_expression "local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0)" (identifier "local_5c") (= "=") (call_expression "FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0)" (identifier "FUN_000e9460") (argument_list "(*piVar4,unaff_EDI + 0x1159f,0,0,0)" (( "(") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (, ",") (binary_expression "unaff_EDI + 0x1159f" (identifier "unaff_EDI") (+ "+") (number_literal "0x1159f")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (, ",") (comma_expression "uVar5 = local_5c, local_5c != 0" (assignment_expression "uVar5 = local_5c" (identifier "uVar5") (= "=") (identifier "local_5c")) (, ",") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")))) () ")"))) () ")")) (goto_statement "goto LAB_0014d7d0;" (goto "goto") (statement_identifier "LAB_0014d7d0") (; ";"))) (if_statement "if (*(int *)(iVar2 + 0xc) == 0) {\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }\n  else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xc) == 0" (pointer_expression "*(int *)(iVar2 + 0xc)" (* "*") (cast_expression "(int *)(iVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    local_c0 = (undefined4 *)piVar4[10];\n    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;\nLAB_0014da0a:\n    iVar10 = local_38;\n    if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }\n  }" ({ "{") (expression_statement "local_c0 = (undefined4 *)piVar4[10];" (assignment_expression "local_c0 = (undefined4 *)piVar4[10]" (identifier "local_c0") (= "=") (cast_expression "(undefined4 *)piVar4[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")))) (; ";")) (if_statement "if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;" (if "if") (parenthesized_expression "(local_c0 != (undefined4 *)0x0)" (( "(") (binary_expression "local_c0 != (undefined4 *)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_0014d858;" (goto "goto") (statement_identifier "LAB_0014d858") (; ";"))) (labeled_statement "LAB_0014da0a:\n    iVar10 = local_38;" (statement_identifier "LAB_0014da0a") (: ":") (expression_statement "iVar10 = local_38;" (assignment_expression "iVar10 = local_38" (identifier "iVar10") (= "=") (identifier "local_38")) (; ";"))) (if_statement "if (extraout_ECX == (code *)0x0) {\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }\n    else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" (if "if") (parenthesized_expression "(extraout_ECX == (code *)0x0)" (( "(") (binary_expression "extraout_ECX == (code *)0x0" (identifier "extraout_ECX") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_38 = 0;\n      *param_2 = local_34;\n      *param_3 = iVar10;\n    }" ({ "{") (expression_statement "local_38 = 0;" (assignment_expression "local_38 = 0" (identifier "local_38") (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_2 = local_34;" (assignment_expression "*param_2 = local_34" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "*param_3 = iVar10;" (assignment_expression "*param_3 = iVar10" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "iVar10")) (; ";")) (} "}")) (else_clause "else if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" (else "else") (if_statement "if (0 < (int)local_34) {\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" (if "if") (parenthesized_expression "(0 < (int)local_34)" (( "(") (binary_expression "0 < (int)local_34" (number_literal "0") (< "<") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) () ")")) (compound_statement "{\n      local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n    }" ({ "{") (expression_statement "local_5c = (*extraout_ECX)(param_1,local_38,local_34);" (assignment_expression "local_5c = (*extraout_ECX)(param_1,local_38,local_34)" (identifier "local_5c") (= "=") (call_expression "(*extraout_ECX)(param_1,local_38,local_34)" (parenthesized_expression "(*extraout_ECX)" (( "(") (pointer_expression "*extraout_ECX" (* "*") (identifier "extraout_ECX")) () ")")) (argument_list "(param_1,local_38,local_34)" (( "(") (identifier "param_1") (, ",") (identifier "local_38") (, ",") (identifier "local_34") () ")")))) (; ";")) (} "}"))))) (} "}")) (else_clause "else {\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" (else "else") (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));\n    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }\n    if (local_5c == 0) goto LAB_0014da0a;\n  }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcf5)" (( "(") (binary_expression "unaff_EDI + 0x6dcf5" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcf5")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar2 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar2 + 0xc)" (* "*") (cast_expression "(int *)(iVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (for_statement "for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));\n        local_c0 = (undefined4 *)*local_c0) {\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }" (for "for") (( "(") (assignment_expression "local_c0 = (undefined4 *)piVar4[10]" (identifier "local_c0") (= "=") (cast_expression "(undefined4 *)piVar4[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")))) (; ";") (parenthesized_expression "(local_5c == 0 && (local_c0 != (undefined4 *)0x0))" (( "(") (binary_expression "local_5c == 0 && (local_c0 != (undefined4 *)0x0)" (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) (&& "&&") (parenthesized_expression "(local_c0 != (undefined4 *)0x0)" (( "(") (binary_expression "local_c0 != (undefined4 *)0x0" (identifier "local_c0") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (; ";") (assignment_expression "local_c0 = (undefined4 *)*local_c0" (identifier "local_c0") (= "=") (cast_expression "(undefined4 *)*local_c0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*local_c0" (* "*") (identifier "local_c0")))) () ")") (compound_statement "{\nLAB_0014d858:\n      uVar5 = local_34;\n      if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }\n    }" ({ "{") (labeled_statement "LAB_0014d858:\n      uVar5 = local_34;" (statement_identifier "LAB_0014d858") (: ":") (expression_statement "uVar5 = local_34;" (assignment_expression "uVar5 = local_34" (identifier "uVar5") (= "=") (identifier "local_34")) (; ";"))) (if_statement "if (local_c0[6] != 0) {\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }" (if "if") (parenthesized_expression "(local_c0[6] != 0)" (( "(") (binary_expression "local_c0[6] != 0" (subscript_expression "local_c0[6]" (identifier "local_c0") ([ "[") (number_literal "6") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_50 = 0;\n        local_4c = (int *)0x0;\n        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);\n        if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }\n        FUN_000a1ad0(&local_5c);\n        if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }\nLAB_0014d9b9:\n        FUN_000c0450(piVar4);\n        if (local_34 == local_74) {\n          local_34 = uVar5;\n        }\n        FUN_00044000(local_50);\n      }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = (int *)0x0;" (assignment_expression "local_4c = (int *)0x0" (identifier "local_4c") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);" (assignment_expression "local_5c = FUN_00112490(&local_58,0,&local_50,&local_54)" (identifier "local_5c") (= "=") (call_expression "FUN_00112490(&local_58,0,&local_50,&local_54)" (identifier "FUN_00112490") (argument_list "(&local_58,0,&local_50,&local_54)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) (, ",") (number_literal "0") (, ",") (pointer_expression "&local_50" (& "&") (identifier "local_50")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) () ")")))) (; ";")) (if_statement "if ((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {\n          local_5c = 0x11;\n        }" (if "if") (parenthesized_expression "((local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0))))" (( "(") (binary_expression "(local_5c == 0) &&\n           ((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))" (parenthesized_expression "(local_5c == 0)" (( "(") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))" (( "(") (parenthesized_expression "(local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0))" (( "(") (binary_expression "local_c0[2] != local_58 ||\n            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)" (binary_expression "local_c0[2] != local_58" (subscript_expression "local_c0[2]" (identifier "local_c0") ([ "[") (number_literal "2") (] "]")) (!= "!=") (identifier "local_58")) (|| "||") (parenthesized_expression "(iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)" (( "(") (comma_expression "iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0" (assignment_expression "iVar6 = memcmp(local_54,(void *)local_c0[5],local_58)" (identifier "iVar6") (= "=") (call_expression "memcmp(local_54,(void *)local_c0[5],local_58)" (identifier "memcmp") (argument_list "(local_54,(void *)local_c0[5],local_58)" (( "(") (identifier "local_54") (, ",") (cast_expression "(void *)local_c0[5]" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_c0[5]" (identifier "local_c0") ([ "[") (number_literal "5") (] "]"))) (, ",") (identifier "local_58") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          local_5c = 0x11;\n        }" ({ "{") (expression_statement "local_5c = 0x11;" (assignment_expression "local_5c = 0x11" (identifier "local_5c") (= "=") (number_literal "0x11")) (; ";")) (} "}"))) (expression_statement "FUN_000a1ad0(&local_5c);" (call_expression "FUN_000a1ad0(&local_5c)" (identifier "FUN_000a1ad0") (argument_list "(&local_5c)" (( "(") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")"))) (; ";")) (if_statement "if (local_5c == 0) {\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }\n        else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" (if "if") (parenthesized_expression "(local_5c == 0)" (( "(") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);\n          local_74 = local_34;\n          iVar6 = local_c0[7];\n          piVar4 = local_4c;\n          if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }\n        }" ({ "{") (expression_statement "local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);" (assignment_expression "local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c)" (identifier "local_5c") (= "=") (call_expression "FUN_001425c0(local_58,local_50,local_54,&local_4c)" (identifier "FUN_001425c0") (argument_list "(local_58,local_50,local_54,&local_4c)" (( "(") (identifier "local_58") (, ",") (identifier "local_50") (, ",") (identifier "local_54") (, ",") (pointer_expression "&local_4c" (& "&") (identifier "local_4c")) () ")")))) (; ";")) (expression_statement "local_74 = local_34;" (assignment_expression "local_74 = local_34" (identifier "local_74") (= "=") (identifier "local_34")) (; ";")) (expression_statement "iVar6 = local_c0[7];" (assignment_expression "iVar6 = local_c0[7]" (identifier "iVar6") (= "=") (subscript_expression "local_c0[7]" (identifier "local_c0") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if ((0 < iVar6) && (local_5c == 0)) {\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }" (if "if") (parenthesized_expression "((0 < iVar6) && (local_5c == 0))" (( "(") (binary_expression "(0 < iVar6) && (local_5c == 0)" (parenthesized_expression "(0 < iVar6)" (( "(") (binary_expression "0 < iVar6" (number_literal "0") (< "<") (identifier "iVar6")) () ")")) (&& "&&") (parenthesized_expression "(local_5c == 0)" (( "(") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n            local_88 = 0;\n            iVar16 = local_c0[8];\n            do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);\n          }" ({ "{") (expression_statement "local_88 = 0;" (assignment_expression "local_88 = 0" (identifier "local_88") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar16 = local_c0[8];" (assignment_expression "iVar16 = local_c0[8]" (identifier "iVar16") (= "=") (subscript_expression "local_c0[8]" (identifier "local_c0") ([ "[") (number_literal "8") (] "]"))) (; ";")) (do_statement "do {\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            } while (local_88 < iVar6);" (do "do") (compound_statement "{\n              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }\n              local_88 = local_88 + 1;\n            }" ({ "{") (while_statement "while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }" (while "while") (parenthesized_expression "(local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0)" (( "(") (comma_expression "local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0" (assignment_expression "local_b4 = *(int **)(iVar16 + local_88 * 4)" (identifier "local_b4") (= "=") (pointer_expression "*(int **)(iVar16 + local_88 * 4)" (* "*") (cast_expression "(int **)(iVar16 + local_88 * 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar16 + local_88 * 4)" (( "(") (binary_expression "iVar16 + local_88 * 4" (identifier "iVar16") (+ "+") (binary_expression "local_88 * 4" (identifier "local_88") (* "*") (number_literal "4"))) () ")"))))) (, ",") (binary_expression "local_b4 != (int *)0x0" (identifier "local_b4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (compound_statement "{\n                do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));\n                local_88 = local_88 + 1;\n                iVar6 = local_c0[7];\n                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;\n                iVar16 = local_c0[8];\n              }" ({ "{") (do_statement "do {\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                } while ((local_b4 != (int *)0x0) && (bVar21));" (do "do") (compound_statement "{\n                  pcVar20 = local_54;\n                  sVar11 = local_58;\n                  pbVar15 = (byte *)local_b4[3];\n                  if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }\n                  local_b4 = (int *)local_b4[4];\n                  piVar4 = local_4c;\n                }" ({ "{") (expression_statement "pcVar20 = local_54;" (assignment_expression "pcVar20 = local_54" (identifier "pcVar20") (= "=") (identifier "local_54")) (; ";")) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" (identifier "sVar11") (= "=") (identifier "local_58")) (; ";")) (expression_statement "pbVar15 = (byte *)local_b4[3];" (assignment_expression "pbVar15 = (byte *)local_b4[3]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)local_b4[3]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_b4[3]" (identifier "local_b4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (if_statement "if ((int)local_58 < 1) {\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }\n                  else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" (if "if") (parenthesized_expression "((int)local_58 < 1)" (( "(") (binary_expression "(int)local_58 < 1" (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                    local_5c = 0;\nLAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);\n                    uVar9 = local_34;\n                    piVar4 = local_4c;\n                    pcVar20 = local_54;\n                    sVar11 = local_58;\n                    if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }\n                    piVar4 = local_4c;\n                    if (local_5c != 0) goto LAB_0014d9b9;\n                    local_5c = FUN_000bfe40(local_4c);\n                    if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }\n                  }" ({ "{") (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" (identifier "local_5c") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_0014ddea:\n                    iVar6 = FUN_000e7e00(piVar4);" (statement_identifier "LAB_0014ddea") (: ":") (expression_statement "iVar6 = FUN_000e7e00(piVar4);" (assignment_expression "iVar6 = FUN_000e7e00(piVar4)" (identifier "iVar6") (= "=") (call_expression "FUN_000e7e00(piVar4)" (identifier "FUN_000e7e00") (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")")))) (; ";"))) (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" (identifier "uVar9") (= "=") (identifier "local_34")) (; ";")) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (expression_statement "pcVar20 = local_54;" (assignment_expression "pcVar20 = local_54" (identifier "pcVar20") (= "=") (identifier "local_54")) (; ";")) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" (identifier "sVar11") (= "=") (identifier "local_58")) (; ";")) (if_statement "if (iVar6 == 100) {\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }\n                    else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" (if "if") (parenthesized_expression "(iVar6 == 100)" (( "(") (binary_expression "iVar6 == 100" (identifier "iVar6") (== "==") (number_literal "100")) () ")")) (compound_statement "{\n                      if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }\n                    }" ({ "{") (if_statement "if (*local_b4 == 0x12) {\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }\n                      else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" (if "if") (parenthesized_expression "(*local_b4 == 0x12)" (( "(") (binary_expression "*local_b4 == 0x12" (pointer_expression "*local_b4" (* "*") (identifier "local_b4")) (== "==") (number_literal "0x12")) () ")")) (compound_statement "{\n                        FUN_00133280();\n                        iVar6 = 0;\n                        FUN_00133280();\n                        uVar9 = local_5c;\n                        sVar11 = local_58;\n                        if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }\n                      }" ({ "{") (expression_statement "FUN_00133280();" (call_expression "FUN_00133280()" (identifier "FUN_00133280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00133280();" (call_expression "FUN_00133280()" (identifier "FUN_00133280") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" (identifier "uVar9") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" (identifier "sVar11") (= "=") (identifier "local_58")) (; ";")) (if_statement "if (0 < (int)local_58) {\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }" (if "if") (parenthesized_expression "(0 < (int)local_58)" (( "(") (binary_expression "0 < (int)local_58" (number_literal "0") (< "<") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58"))) () ")")) (compound_statement "{\n                          do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);\n                        }" ({ "{") (do_statement "do {\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          } while (iVar6 < (int)local_58);" (do "do") (compound_statement "{\n                            while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }\n                            iVar6 = iVar6 + 1;\n                            FUN_000a1c40(&local_5c);\n                            uVar9 = local_5c;\n                            sVar11 = local_58;\n                          }" ({ "{") (while_statement "while (uVar9 != 0) {\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }" (while "while") (parenthesized_expression "(uVar9 != 0)" (( "(") (binary_expression "uVar9 != 0" (identifier "uVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                              iVar6 = iVar6 + 1;\n                              piVar4 = local_4c;\n                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;\n                            }" ({ "{") (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;" (if "if") (parenthesized_expression "((int)sVar11 <= iVar6)" (( "(") (binary_expression "(int)sVar11 <= iVar6" (cast_expression "(int)sVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar11")) (<= "<=") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_0014d9b9;" (goto "goto") (statement_identifier "LAB_0014d9b9") (; ";"))) (} "}"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_000a1c40(&local_5c);" (call_expression "FUN_000a1c40(&local_5c)" (identifier "FUN_000a1c40") (argument_list "(&local_5c)" (( "(") (pointer_expression "&local_5c" (& "&") (identifier "local_5c")) () ")"))) (; ";")) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" (identifier "uVar9") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "sVar11 = local_58;" (assignment_expression "sVar11 = local_58" (identifier "sVar11") (= "=") (identifier "local_58")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar6 < (int)local_58)" (( "(") (binary_expression "iVar6 < (int)local_58" (identifier "iVar6") (< "<") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58"))) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" (else "else") (compound_statement "{\n                        local_48 = 0;\n                        local_c4 = (byte *)local_b4[3];\n                        local_2c = 0;\n                        local_28 = 0;\n                        local_24 = 0;\n                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }\njoined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }\n                        local_34 = uVar9;\n                        FUN_00044000(local_2c);\n                        local_5c = local_48;\n                      }" ({ "{") (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_c4 = (byte *)local_b4[3];" (assignment_expression "local_c4 = (byte *)local_b4[3]" (identifier "local_c4") (= "=") (cast_expression "(byte *)local_b4[3]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_b4[3]" (identifier "local_b4") ([ "[") (number_literal "3") (] "]")))) (; ";")) (expression_statement "local_2c = 0;" (assignment_expression "local_2c = 0" (identifier "local_2c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_24 = 0;" (assignment_expression "local_24 = 0" (identifier "local_24") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }\n                        else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" (if "if") (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" (( "(") (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" (identifier "local_30") (== "==") (identifier "local_34")) (|| "||") (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_30 - local_34)" (( "(") (binary_expression "local_30 - local_34" (identifier "local_30") (- "-") (identifier "local_34")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                          uVar14 = local_30;\n                          if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }\n                          uVar17 = (int)uVar14 >> 0x1f;\n                          do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));\n                          iVar6 = FUN_00067fc0();\n                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }\n                        }" ({ "{") (expression_statement "uVar14 = local_30;" (assignment_expression "uVar14 = local_30" (identifier "uVar14") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n                            uVar14 = 0x80;\n                          }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                            uVar14 = 0x80;\n                          }" ({ "{") (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" (identifier "uVar14") (= "=") (number_literal "0x80")) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar14 >> 0x1f" (identifier "uVar17") (= "=") (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x1f"))) (; ";")) (do_statement "do {\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)));" (do "do") (compound_statement "{\n                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                            uVar14 = uVar14 * 2;\n                          }" ({ "{") (expression_statement "uVar17 = uVar17 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar14 >> 0x1f" (identifier "uVar17") (= "=") (binary_expression "uVar17 << 1 | uVar14 >> 0x1f" (binary_expression "uVar17 << 1" (identifier "uVar17") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar14 >> 0x1f" (identifier "uVar14") (>> ">>") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" (identifier "uVar14") (= "=") (binary_expression "uVar14 * 2" (identifier "uVar14") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)))" (( "(") (binary_expression "(int)(uint)(uVar14 - local_34 != 0) <=\n                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" (cast_expression "(int)(uint)(uVar14 - local_34 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar14 - local_34 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 - local_34 != 0)" (( "(") (binary_expression "uVar14 - local_34 != 0" (binary_expression "uVar14 - local_34" (identifier "uVar14") (- "-") (identifier "local_34")) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (cast_expression "(int)-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" (- "-") (parenthesized_expression "((uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34))" (( "(") (binary_expression "(uVar17 - ((int)local_34 >> 0x1f)) -\n                                         (uint)(uVar14 < local_34)" (parenthesized_expression "(uVar17 - ((int)local_34 >> 0x1f))" (( "(") (binary_expression "uVar17 - ((int)local_34 >> 0x1f)" (identifier "uVar17") (- "-") (parenthesized_expression "((int)local_34 >> 0x1f)" (( "(") (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar14 < local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < local_34)" (( "(") (binary_expression "uVar14 < local_34" (identifier "uVar14") (< "<") (identifier "local_34")) () ")")))) () ")"))))) () ")")) (; ";")) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" (identifier "iVar6") (= "=") (call_expression "FUN_00067fc0()" (identifier "FUN_00067fc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }\n                          else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" (if "if") (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" (( "(") (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" (( "(") (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" (identifier "iVar6") (= "=") (call_expression "FUN_00055930()" (identifier "FUN_00055930") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                            local_38 = iVar6;\n                            local_30 = uVar14;\n                            if (local_48 == 0) goto LAB_0014df46;\n                          }" ({ "{") (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" (identifier "local_38") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "local_30 = uVar14;" (assignment_expression "local_30 = uVar14" (identifier "local_30") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (local_48 == 0) goto LAB_0014df46;" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014df46;" (goto "goto") (statement_identifier "LAB_0014df46") (; ";"))) (} "}")) (else_clause "else {\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" (else "else") (compound_statement "{\nLAB_0014ed09:\n                            local_48 = 7;\n                          }" ({ "{") (labeled_statement "LAB_0014ed09:\n                            local_48 = 7;" (statement_identifier "LAB_0014ed09") (: ":") (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" (identifier "local_48") (= "=") (number_literal "7")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" (else "else") (compound_statement "{\nLAB_0014df46:\n                          uVar14 = local_34 + 1;\n                          *(undefined1 *)(local_38 + local_34) = 0x17;\n                          iVar6 = local_b4[1];\n                          local_34 = uVar14;\n                          if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }\n                        }" ({ "{") (labeled_statement "LAB_0014df46:\n                          uVar14 = local_34 + 1;" (statement_identifier "LAB_0014df46") (: ":") (expression_statement "uVar14 = local_34 + 1;" (assignment_expression "uVar14 = local_34 + 1" (identifier "uVar14") (= "=") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*(undefined1 *)(local_38 + local_34) = 0x17;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = 0x17" (pointer_expression "*(undefined1 *)(local_38 + local_34)" (* "*") (cast_expression "(undefined1 *)(local_38 + local_34)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + local_34)" (( "(") (binary_expression "local_38 + local_34" (identifier "local_38") (+ "+") (identifier "local_34")) () ")")))) (= "=") (number_literal "0x17")) (; ";")) (expression_statement "iVar6 = local_b4[1];" (assignment_expression "iVar6 = local_b4[1]" (identifier "iVar6") (= "=") (subscript_expression "local_b4[1]" (identifier "local_b4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "local_34 = uVar14;" (assignment_expression "local_34 = uVar14" (identifier "local_34") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (local_48 == 0) {\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }\n                            local_cc._0_1_ = (undefined1)iVar6;\n                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;\n                            local_34 = local_34 + 1;\n                          }" ({ "{") (if_statement "if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }" (if "if") (parenthesized_expression "(local_30 == uVar14 || (int)(local_30 - uVar14) < 0)" (( "(") (binary_expression "local_30 == uVar14 || (int)(local_30 - uVar14) < 0" (binary_expression "local_30 == uVar14" (identifier "local_30") (== "==") (identifier "uVar14")) (|| "||") (binary_expression "(int)(local_30 - uVar14) < 0" (cast_expression "(int)(local_30 - uVar14)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_30 - uVar14)" (( "(") (binary_expression "local_30 - uVar14" (identifier "local_30") (- "-") (identifier "uVar14")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                              uVar17 = local_30;\n                              if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }\n                              uVar19 = (int)uVar17 >> 0x1f;\n                              do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));\n                              iVar16 = FUN_00067fc0();\n                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;\n                              local_38 = iVar16;\n                              local_30 = uVar17;\n                              if (local_48 != 0) goto joined_r0x0014e470;\n                            }" ({ "{") (expression_statement "uVar17 = local_30;" (assignment_expression "uVar17 = local_30" (identifier "uVar17") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n                                uVar17 = 0x80;\n                              }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                uVar17 = 0x80;\n                              }" ({ "{") (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" (identifier "uVar17") (= "=") (number_literal "0x80")) (; ";")) (} "}"))) (expression_statement "uVar19 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar19 = (int)uVar17 >> 0x1f" (identifier "uVar19") (= "=") (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (>> ">>") (number_literal "0x1f"))) (; ";")) (do_statement "do {\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)));" (do "do") (compound_statement "{\n                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                uVar17 = uVar17 * 2;\n                              }" ({ "{") (expression_statement "uVar19 = uVar19 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | uVar17 >> 0x1f" (identifier "uVar19") (= "=") (binary_expression "uVar19 << 1 | uVar17 >> 0x1f" (binary_expression "uVar19 << 1" (identifier "uVar19") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar17 >> 0x1f" (identifier "uVar17") (>> ">>") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" (identifier "uVar17") (= "=") (binary_expression "uVar17 * 2" (identifier "uVar17") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)))" (( "(") (binary_expression "(int)(uint)(uVar17 - uVar14 != 0) <=\n                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" (cast_expression "(int)(uint)(uVar17 - uVar14 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar17 - uVar14 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 - uVar14 != 0)" (( "(") (binary_expression "uVar17 - uVar14 != 0" (binary_expression "uVar17 - uVar14" (identifier "uVar17") (- "-") (identifier "uVar14")) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (cast_expression "(int)-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" (- "-") (parenthesized_expression "((uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14))" (( "(") (binary_expression "(uVar19 - ((int)uVar14 >> 0x1f)) -\n                                             (uint)(uVar17 < uVar14)" (parenthesized_expression "(uVar19 - ((int)uVar14 >> 0x1f))" (( "(") (binary_expression "uVar19 - ((int)uVar14 >> 0x1f)" (identifier "uVar19") (- "-") (parenthesized_expression "((int)uVar14 >> 0x1f)" (( "(") (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar17 < uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < uVar14)" (( "(") (binary_expression "uVar17 < uVar14" (identifier "uVar17") (< "<") (identifier "uVar14")) () ")")))) () ")"))))) () ")")) (; ";")) (expression_statement "iVar16 = FUN_00067fc0();" (assignment_expression "iVar16 = FUN_00067fc0()" (identifier "iVar16") (= "=") (call_expression "FUN_00067fc0()" (identifier "FUN_00067fc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                              goto LAB_0014ed09;" (if "if") (parenthesized_expression "((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))" (( "(") (binary_expression "(iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0)" (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 = FUN_00055930(), iVar16 == 0)" (( "(") (comma_expression "iVar16 = FUN_00055930(), iVar16 == 0" (assignment_expression "iVar16 = FUN_00055930()" (identifier "iVar16") (= "=") (call_expression "FUN_00055930()" (identifier "FUN_00055930") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0014ed09;" (goto "goto") (statement_identifier "LAB_0014ed09") (; ";"))) (expression_statement "local_38 = iVar16;" (assignment_expression "local_38 = iVar16" (identifier "local_38") (= "=") (identifier "iVar16")) (; ";")) (expression_statement "local_30 = uVar17;" (assignment_expression "local_30 = uVar17" (identifier "local_30") (= "=") (identifier "uVar17")) (; ";")) (if_statement "if (local_48 != 0) goto joined_r0x0014e470;" (if "if") (parenthesized_expression "(local_48 != 0)" (( "(") (binary_expression "local_48 != 0" (identifier "local_48") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto joined_r0x0014e470;" (goto "goto") (statement_identifier "joined_r0x0014e470") (; ";"))) (} "}"))) (expression_statement "local_cc._0_1_ = (undefined1)iVar6;" (assignment_expression "local_cc._0_1_ = (undefined1)iVar6" (field_expression "local_cc._0_1_" (identifier "local_cc") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(undefined1)iVar6" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar6"))) (; ";")) (expression_statement "*(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = (undefined1)local_cc" (pointer_expression "*(undefined1 *)(local_38 + local_34)" (* "*") (cast_expression "(undefined1 *)(local_38 + local_34)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + local_34)" (( "(") (binary_expression "local_38 + local_34" (identifier "local_38") (+ "+") (identifier "local_34")) () ")")))) (= "=") (cast_expression "(undefined1)local_cc" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_cc"))) (; ";")) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" (identifier "local_34") (= "=") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "joined_r0x0014e470:\n                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" (statement_identifier "joined_r0x0014e470") (: ":") (if_statement "if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" (if "if") (parenthesized_expression "((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0))" (( "(") (binary_expression "(piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)" (parenthesized_expression "(piVar4 != (int *)0x0)" (( "(") (binary_expression "piVar4 != (int *)0x0" (identifier "piVar4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((short)piVar4[0x22] != 0)" (( "(") (binary_expression "(short)piVar4[0x22] != 0" (cast_expression "(short)piVar4[0x22]" (( "(") (type_descriptor "short" (sized_type_specifier "short" (short "short"))) () ")") (subscript_expression "piVar4[0x22]" (identifier "piVar4") ([ "[") (number_literal "0x22") (] "]"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n                          local_dc = 0;\n                          local_94 = 1;\n                          do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));\n                          if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }\n                        }" ({ "{") (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_94 = 1;" (assignment_expression "local_94 = 1" (identifier "local_94") (= "=") (number_literal "1")) (; ";")) (do_statement "do {\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));" (do "do") (compound_statement "{\n                            bVar1 = *local_c4;\n                            if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }\nLAB_0014e590:\n                            local_dc = local_dc + 1;\n                            local_c4 = local_c4 + local_cc;\n                          }" ({ "{") (expression_statement "bVar1 = *local_c4;" (assignment_expression "bVar1 = *local_c4" (identifier "bVar1") (= "=") (pointer_expression "*local_c4" (* "*") (identifier "local_c4"))) (; ";")) (if_statement "if (bVar1 == 0) {\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }\n                            else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" (if "if") (parenthesized_expression "(bVar1 == 0)" (( "(") (binary_expression "bVar1 == 0" (identifier "bVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }\n                              local_cc = local_44 + iVar6;\n                              iVar16 = *piVar4;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }\n                              uVar14 = local_cc;\n                              if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }\nLAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }\n                            }" ({ "{") (labeled_statement "LAB_0014e690:\n                              if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" (statement_identifier "LAB_0014e690") (: ":") (if_statement "if ((char)local_c4[1] < '\0') {\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }\n                              else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" (if "if") (parenthesized_expression "((char)local_c4[1] < '\0')" (( "(") (binary_expression "(char)local_c4[1] < '\0'" (cast_expression "(char)local_c4[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "local_c4[1]" (identifier "local_c4") ([ "[") (number_literal "1") (] "]"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                                uVar14 = FUN_00044cf0();\n                                iVar6 = (uVar14 & 0xff) + 1;\n                              }" ({ "{") (expression_statement "uVar14 = FUN_00044cf0();" (assignment_expression "uVar14 = FUN_00044cf0()" (identifier "uVar14") (= "=") (call_expression "FUN_00044cf0()" (identifier "FUN_00044cf0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = (uVar14 & 0xff) + 1;" (assignment_expression "iVar6 = (uVar14 & 0xff) + 1" (identifier "iVar6") (= "=") (binary_expression "(uVar14 & 0xff) + 1" (parenthesized_expression "(uVar14 & 0xff)" (( "(") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff")) () ")")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" (else "else") (compound_statement "{\n                                iVar6 = 2;\n                                local_44 = (uint)local_c4[1];\n                              }" ({ "{") (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" (identifier "iVar6") (= "=") (number_literal "2")) (; ";")) (expression_statement "local_44 = (uint)local_c4[1];" (assignment_expression "local_44 = (uint)local_c4[1]" (identifier "local_44") (= "=") (cast_expression "(uint)local_c4[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_c4[1]" (identifier "local_c4") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}"))))) (expression_statement "local_cc = local_44 + iVar6;" (assignment_expression "local_cc = local_44 + iVar6" (identifier "local_cc") (= "=") (binary_expression "local_44 + iVar6" (identifier "local_44") (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" (identifier "iVar16") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (if_statement "if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }" (if "if") (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" (* "*") (cast_expression "(int *)(iVar16 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));\n                                iVar16 = *piVar4;\n                              }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcf5)" (( "(") (binary_expression "unaff_EDI + 0x6dcf5" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcf5")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar16 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar16 + 0xc)" (* "*") (cast_expression "(int *)(iVar16 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" (identifier "iVar16") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}"))) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" (if "if") (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" (( "(") (binary_expression "(piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" (( "(") (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (( "(") (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(piVar4 + 0x22)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x22)" (( "(") (binary_expression "piVar4 + 0x22" (identifier "piVar4") (+ "+") (number_literal "0x22")) () ")")))) (<= "<=") (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc"))) () ")"))) () ")")) (compound_statement "{\n                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar16 = *piVar4;\n                              }" ({ "{") (expression_statement "*(undefined4 *)(iVar16 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar16 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar16 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar16 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x3c)" (( "(") (binary_expression "iVar16 + 0x3c" (identifier "iVar16") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0x19")) (; ";")) (expression_statement "bVar13 = 5;" (assignment_expression "bVar13 = 5" (identifier "bVar13") (= "=") (number_literal "5")) (; ";")) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" (identifier "FUN_0004c5a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" (identifier "iVar16") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}")) (else_clause "else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" (else "else") (compound_statement "{\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" ({ "{") (expression_statement "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));" (assignment_expression "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (* "*") (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (( "(") (binary_expression "unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (binary_expression "unaff_EDI + 0x16599" (identifier "unaff_EDI") (+ "+") (number_literal "0x16599")) (+ "+") (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (( "(") (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" (* "*") (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" (( "(") (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "8")) (+ "+") (binary_expression "local_dc * 0x28" (identifier "local_dc") (* "*") (number_literal "0x28"))) () ")")))) (& "&") (number_literal "0x1f")) () ")"))) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" (if "if") (parenthesized_expression "((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" (( "(") (binary_expression "(*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar16 + 0x4d) == '\0')" (( "(") (binary_expression "*(char *)(iVar16 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar16 + 0x4d)" (* "*") (cast_expression "(char *)(iVar16 + 0x4d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x4d)" (( "(") (binary_expression "iVar16 + 0x4d" (identifier "iVar16") (+ "+") (number_literal "0x4d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(piVar4[10] != 0xc0a)" (( "(") (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0xc0a")) () ")"))) () ")")) (compound_statement "{\n                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);\n                              }" ({ "{") (expression_statement "uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);" (assignment_expression "uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40)" (identifier "uVar14") (= "=") (binary_expression "piVar4[10] & *(uint *)(iVar16 + 0x40)" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (& "&") (pointer_expression "*(uint *)(iVar16 + 0x40)" (* "*") (cast_expression "(uint *)(iVar16 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0x40)" (( "(") (binary_expression "iVar16 + 0x40" (identifier "iVar16") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" (else "else") (compound_statement "{\n                                uVar14 = FUN_0004c680();\n                                iVar16 = *piVar4;\n                              }" ({ "{") (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" (identifier "uVar14") (= "=") (call_expression "FUN_0004c680()" (identifier "FUN_0004c680") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar16 = *piVar4;" (assignment_expression "iVar16 = *piVar4" (identifier "iVar16") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}")))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (*(int *)(iVar16 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }" (if "if") (parenthesized_expression "(*(int *)(iVar16 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar16 + 0xc) != 0" (pointer_expression "*(int *)(iVar16 + 0xc)" (* "*") (cast_expression "(int *)(iVar16 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));\n                              }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcfd)" (( "(") (binary_expression "unaff_EDI + 0x6dcfd" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcfd")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar16 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar16 + 0xc)" (* "*") (cast_expression "(int *)(iVar16 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 0xc)" (( "(") (binary_expression "iVar16 + 0xc" (identifier "iVar16") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar14 = local_cc;" (assignment_expression "uVar14 = local_cc" (identifier "uVar14") (= "=") (identifier "local_cc")) (; ";")) (if_statement "if (bVar1 == bVar13) {\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" (if "if") (parenthesized_expression "(bVar1 == bVar13)" (( "(") (binary_expression "bVar1 == bVar13" (identifier "bVar1") (== "==") (identifier "bVar13")) () ")")) (compound_statement "{\n                                FUN_0004c5d0();\n                                sVar11 = FUN_0007f360();\n                                FUN_0004c6c0();\n                                uVar17 = local_44;\n                                if (local_44 != sVar11) goto LAB_0014e743;\n                                if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;\n                              }" ({ "{") (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" (identifier "FUN_0004c5d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "sVar11 = FUN_0007f360();" (assignment_expression "sVar11 = FUN_0007f360()" (identifier "sVar11") (= "=") (call_expression "FUN_0007f360()" (identifier "FUN_0007f360") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" (identifier "FUN_0004c6c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar17 = local_44;" (assignment_expression "uVar17 = local_44" (identifier "uVar17") (= "=") (identifier "local_44")) (; ";")) (if_statement "if (local_44 != sVar11) goto LAB_0014e743;" (if "if") (parenthesized_expression "(local_44 != sVar11)" (( "(") (binary_expression "local_44 != sVar11" (identifier "local_44") (!= "!=") (identifier "sVar11")) () ")")) (goto_statement "goto LAB_0014e743;" (goto "goto") (statement_identifier "LAB_0014e743") (; ";"))) (if_statement "if (local_44 != 0) {\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }" (if "if") (parenthesized_expression "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                  uVar8 = FUN_0004c5d0();\n                                  __s2 = (void *)FUN_0007f710(uVar8);\n                                  FUN_0004c6c0();\n                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);\n                                  if (iVar6 != 0) goto LAB_0014e743;\n                                }" ({ "{") (expression_statement "uVar8 = FUN_0004c5d0();" (assignment_expression "uVar8 = FUN_0004c5d0()" (identifier "uVar8") (= "=") (call_expression "FUN_0004c5d0()" (identifier "FUN_0004c5d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "__s2 = (void *)FUN_0007f710(uVar8);" (assignment_expression "__s2 = (void *)FUN_0007f710(uVar8)" (identifier "__s2") (= "=") (cast_expression "(void *)FUN_0007f710(uVar8)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0007f710(uVar8)" (identifier "FUN_0007f710") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))))) (; ";")) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" (identifier "FUN_0004c6c0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);" (assignment_expression "iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17)" (identifier "iVar6") (= "=") (call_expression "memcmp(local_c4 + iVar6,__s2,uVar17)" (identifier "memcmp") (argument_list "(local_c4 + iVar6,__s2,uVar17)" (( "(") (binary_expression "local_c4 + iVar6" (identifier "local_c4") (+ "+") (identifier "iVar6")) (, ",") (identifier "__s2") (, ",") (identifier "uVar17") () ")")))) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_0014e743;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e743;" (goto "goto") (statement_identifier "LAB_0014e743") (; ";"))) (} "}"))) (if_statement "if (iVar10 != 0) goto LAB_0014e9cb;" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e9cb;" (goto "goto") (statement_identifier "LAB_0014e9cb") (; ";"))) (if_statement "if (pcVar20[local_dc] == '\0') {\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }\n                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" (if "if") (parenthesized_expression "(pcVar20[local_dc] == '\0')" (( "(") (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" (identifier "pcVar20") ([ "[") (identifier "local_dc") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();\n                                  if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }\n                                }" ({ "{") (labeled_statement "LAB_0014e8c6:\n                                  iVar6 = FUN_000a19a0();" (statement_identifier "LAB_0014e8c6") (: ":") (expression_statement "iVar6 = FUN_000a19a0();" (assignment_expression "iVar6 = FUN_000a19a0()" (identifier "iVar6") (= "=") (call_expression "FUN_000a19a0()" (identifier "FUN_000a19a0") (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (iVar6 == 0) {\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                    *(undefined1 *)(local_38 + local_34) = 0;\n                                    local_34 = local_34 + 1;\n                                  }" ({ "{") (expression_statement "*(undefined1 *)(local_38 + local_34) = 0;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = 0" (pointer_expression "*(undefined1 *)(local_38 + local_34)" (* "*") (cast_expression "(undefined1 *)(local_38 + local_34)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + local_34)" (( "(") (binary_expression "local_38 + local_34" (identifier "local_38") (+ "+") (identifier "local_34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" (identifier "local_34") (= "=") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" (else "else") (if_statement "if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        ) goto LAB_0014eaca;" (if "if") (parenthesized_expression "((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)\n                                        )" (( "(") (binary_expression "(0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)" (parenthesized_expression "(0 < (int)local_cc)" (( "(") (binary_expression "0 < (int)local_cc" (number_literal "0") (< "<") (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc"))) () ")")) (&& "&&") (parenthesized_expression "(local_70 = local_48, local_48 == 0)" (( "(") (comma_expression "local_70 = local_48, local_48 == 0" (assignment_expression "local_70 = local_48" (identifier "local_70") (= "=") (identifier "local_48")) (, ",") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0014eaca;" (goto "goto") (statement_identifier "LAB_0014eaca") (; ";"))))) (} "}")) (else_clause "else {\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" (else "else") (compound_statement "{\nLAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }\n                                local_70 = 1;\nLAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }\n                              }" ({ "{") (labeled_statement "LAB_0014e743:\n                                if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" (statement_identifier "LAB_0014e743") (: ":") (if_statement "if ((iVar10 != 0) || ((int)local_cc < 1)) {\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" (if "if") (parenthesized_expression "((iVar10 != 0) || ((int)local_cc < 1))" (( "(") (binary_expression "(iVar10 != 0) || ((int)local_cc < 1)" (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)local_cc < 1)" (( "(") (binary_expression "(int)local_cc < 1" (cast_expression "(int)local_cc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_cc")) (< "<") (number_literal "1")) () ")"))) () ")")) (compound_statement "{\n                                  local_94 = 0;\n                                  goto LAB_0014e560;\n                                }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0014e560;" (goto "goto") (statement_identifier "LAB_0014e560") (; ";")) (} "}")))) (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" (identifier "local_94") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (local_48 != 0) {\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }" (if "if") (parenthesized_expression "(local_48 != 0)" (( "(") (binary_expression "local_48 != 0" (identifier "local_48") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                  local_94 = 0;\n                                  goto LAB_0014e590;\n                                }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0014e590;" (goto "goto") (statement_identifier "LAB_0014e590") (; ";")) (} "}"))) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" (identifier "local_70") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_0014eaca:\n                                if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" (statement_identifier "LAB_0014eaca") (: ":") (if_statement "if ((int)(local_30 - local_34) < (int)uVar14) {\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }\n                                else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" (if "if") (parenthesized_expression "((int)(local_30 - local_34) < (int)uVar14)" (( "(") (binary_expression "(int)(local_30 - local_34) < (int)uVar14" (cast_expression "(int)(local_30 - local_34)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_30 - local_34)" (( "(") (binary_expression "local_30 - local_34" (identifier "local_30") (- "-") (identifier "local_34")) () ")"))) (< "<") (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14"))) () ")")) (compound_statement "{\n                                  uVar17 = local_30;\n                                  if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }\n                                  uVar19 = (int)uVar17 >> 0x1f;\n                                  do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                  if (local_70 != 0) goto LAB_0014e590;\n                                }" ({ "{") (expression_statement "uVar17 = local_30;" (assignment_expression "uVar17 = local_30" (identifier "uVar17") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n                                    uVar17 = 0x80;\n                                  }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                    uVar17 = 0x80;\n                                  }" ({ "{") (expression_statement "uVar17 = 0x80;" (assignment_expression "uVar17 = 0x80" (identifier "uVar17") (= "=") (number_literal "0x80")) (; ";")) (} "}"))) (expression_statement "uVar19 = (int)uVar17 >> 0x1f;" (assignment_expression "uVar19 = (int)uVar17 >> 0x1f" (identifier "uVar19") (= "=") (binary_expression "(int)uVar17 >> 0x1f" (cast_expression "(int)uVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar17")) (>> ">>") (number_literal "0x1f"))) (; ";")) (do_statement "do {\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);" (do "do") (compound_statement "{\n                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;\n                                    uVar17 = uVar17 * 2;\n                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);\n                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);\n                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);\n                                  }" ({ "{") (expression_statement "uVar19 = uVar19 << 1 | uVar17 >> 0x1f;" (assignment_expression "uVar19 = uVar19 << 1 | uVar17 >> 0x1f" (identifier "uVar19") (= "=") (binary_expression "uVar19 << 1 | uVar17 >> 0x1f" (binary_expression "uVar19 << 1" (identifier "uVar19") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar17 >> 0x1f" (identifier "uVar17") (>> ">>") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar17 = uVar17 * 2;" (assignment_expression "uVar17 = uVar17 * 2" (identifier "uVar17") (= "=") (binary_expression "uVar17 * 2" (identifier "uVar17") (* "*") (number_literal "2"))) (; ";")) (expression_statement "iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34);" (assignment_expression "iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34)" (identifier "iVar16") (= "=") (binary_expression "(uVar19 - ((int)local_34 >> 0x1f)) -\n                                             (uint)(uVar17 < local_34)" (parenthesized_expression "(uVar19 - ((int)local_34 >> 0x1f))" (( "(") (binary_expression "uVar19 - ((int)local_34 >> 0x1f)" (identifier "uVar19") (- "-") (parenthesized_expression "((int)local_34 >> 0x1f)" (( "(") (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar17 < local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 < local_34)" (( "(") (binary_expression "uVar17 < local_34" (identifier "uVar17") (< "<") (identifier "local_34")) () ")"))))) (; ";")) (expression_statement "uVar3 = (uint)(uVar17 - local_34 < uVar14);" (assignment_expression "uVar3 = (uint)(uVar17 - local_34 < uVar14)" (identifier "uVar3") (= "=") (call_expression "(uint)(uVar17 - local_34 < uVar14)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar17 - local_34 < uVar14)" (( "(") (binary_expression "uVar17 - local_34 < uVar14" (binary_expression "uVar17 - local_34" (identifier "uVar17") (- "-") (identifier "local_34")) (< "<") (identifier "uVar14")) () ")")))) (; ";")) (expression_statement "iVar6 = iVar16 - ((int)uVar14 >> 0x1f);" (assignment_expression "iVar6 = iVar16 - ((int)uVar14 >> 0x1f)" (identifier "iVar6") (= "=") (binary_expression "iVar16 - ((int)uVar14 >> 0x1f)" (identifier "iVar16") (- "-") (parenthesized_expression "((int)uVar14 >> 0x1f)" (( "(") (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0)" (( "(") (binary_expression "(SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0" (parenthesized_expression "(SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3))" (( "(") (binary_expression "SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=\n                                           SBORROW4(iVar6,uVar3)" (call_expression "SBORROW4(iVar16,(int)uVar14 >> 0x1f)" (identifier "SBORROW4") (argument_list "(iVar16,(int)uVar14 >> 0x1f)" (( "(") (identifier "iVar16") (, ",") (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x1f")) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar6,uVar3)" (identifier "SBORROW4") (argument_list "(iVar6,uVar3)" (( "(") (identifier "iVar6") (, ",") (identifier "uVar3") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar6 - uVar3) < 0" (cast_expression "(int)(iVar6 - uVar3)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar6 - uVar3)" (( "(") (binary_expression "iVar6 - uVar3" (identifier "iVar6") (- "-") (identifier "uVar3")) () ")"))) (< "<") (number_literal "0"))) () ")")) (; ";")) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" (identifier "iVar6") (= "=") (call_expression "FUN_00067fc0()" (identifier "FUN_00067fc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }" (if "if") (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" (( "(") (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" (( "(") (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" (identifier "iVar6") (= "=") (call_expression "FUN_00055930()" (identifier "FUN_00055930") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                                    local_38 = iVar6;\n                                    local_30 = uVar17;\n                                    if (local_48 == 0) goto LAB_0014eb76;\n                                  }" ({ "{") (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" (identifier "local_38") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "local_30 = uVar17;" (assignment_expression "local_30 = uVar17" (identifier "local_30") (= "=") (identifier "uVar17")) (; ";")) (if_statement "if (local_48 == 0) goto LAB_0014eb76;" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014eb76;" (goto "goto") (statement_identifier "LAB_0014eb76") (; ";"))) (} "}")) (else_clause "else {\n                                    local_48 = 7;\n                                  }" (else "else") (compound_statement "{\n                                    local_48 = 7;\n                                  }" ({ "{") (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" (identifier "local_48") (= "=") (number_literal "7")) (; ";")) (} "}")))) (if_statement "if (local_70 != 0) goto LAB_0014e590;" (if "if") (parenthesized_expression "(local_70 != 0)" (( "(") (binary_expression "local_70 != 0" (identifier "local_70") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e590;" (goto "goto") (statement_identifier "LAB_0014e590") (; ";"))) (} "}")) (else_clause "else {\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" (else "else") (compound_statement "{\nLAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);\n                                  local_34 = local_34 + uVar14;\n                                  if (local_70 != 0) goto LAB_0014e560;\n                                }" ({ "{") (labeled_statement "LAB_0014eb76:\n                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);" (statement_identifier "LAB_0014eb76") (: ":") (expression_statement "memcpy((void *)(local_34 + local_38),local_c4,local_cc);" (call_expression "memcpy((void *)(local_34 + local_38),local_c4,local_cc)" (identifier "memcpy") (argument_list "((void *)(local_34 + local_38),local_c4,local_cc)" (( "(") (cast_expression "(void *)(local_34 + local_38)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 + local_38)" (( "(") (binary_expression "local_34 + local_38" (identifier "local_34") (+ "+") (identifier "local_38")) () ")"))) (, ",") (identifier "local_c4") (, ",") (identifier "local_cc") () ")"))) (; ";"))) (expression_statement "local_34 = local_34 + uVar14;" (assignment_expression "local_34 = local_34 + uVar14" (identifier "local_34") (= "=") (binary_expression "local_34 + uVar14" (identifier "local_34") (+ "+") (identifier "uVar14"))) (; ";")) (if_statement "if (local_70 != 0) goto LAB_0014e560;" (if "if") (parenthesized_expression "(local_70 != 0)" (( "(") (binary_expression "local_70 != 0" (identifier "local_70") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e560;" (goto "goto") (statement_identifier "LAB_0014e560") (; ";"))) (} "}"))))) (} "}")))) (labeled_statement "LAB_0014e900:\n                              if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" (statement_identifier "LAB_0014e900") (: ":") (if_statement "if (local_48 == 0) {\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }\n                              }" ({ "{") (if_statement "if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }\n                                else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" (if "if") (parenthesized_expression "(local_24 == local_28 || (int)(local_24 - local_28) < 0)" (( "(") (binary_expression "local_24 == local_28 || (int)(local_24 - local_28) < 0" (binary_expression "local_24 == local_28" (identifier "local_24") (== "==") (identifier "local_28")) (|| "||") (binary_expression "(int)(local_24 - local_28) < 0" (cast_expression "(int)(local_24 - local_28)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_24 - local_28)" (( "(") (binary_expression "local_24 - local_28" (identifier "local_24") (- "-") (identifier "local_28")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                                  uVar14 = local_24;\n                                  if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }\n                                  uVar17 = (int)uVar14 >> 0x1f;\n                                  do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));\n                                  iVar6 = FUN_00067fc0();\n                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }\n                                }" ({ "{") (expression_statement "uVar14 = local_24;" (assignment_expression "uVar14 = local_24" (identifier "uVar14") (= "=") (identifier "local_24")) (; ";")) (if_statement "if (local_24 == 0) {\n                                    uVar14 = 0x80;\n                                  }" (if "if") (parenthesized_expression "(local_24 == 0)" (( "(") (binary_expression "local_24 == 0" (identifier "local_24") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                    uVar14 = 0x80;\n                                  }" ({ "{") (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" (identifier "uVar14") (= "=") (number_literal "0x80")) (; ";")) (} "}"))) (expression_statement "uVar17 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar17 = (int)uVar14 >> 0x1f" (identifier "uVar17") (= "=") (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x1f"))) (; ";")) (do_statement "do {\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)));" (do "do") (compound_statement "{\n                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;\n                                    uVar14 = uVar14 * 2;\n                                  }" ({ "{") (expression_statement "uVar17 = uVar17 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar17 = uVar17 << 1 | uVar14 >> 0x1f" (identifier "uVar17") (= "=") (binary_expression "uVar17 << 1 | uVar14 >> 0x1f" (binary_expression "uVar17 << 1" (identifier "uVar17") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar14 >> 0x1f" (identifier "uVar14") (>> ">>") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" (identifier "uVar14") (= "=") (binary_expression "uVar14 * 2" (identifier "uVar14") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)))" (( "(") (binary_expression "(int)(uint)(uVar14 - local_28 != 0) <=\n                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" (cast_expression "(int)(uint)(uVar14 - local_28 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar14 - local_28 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 - local_28 != 0)" (( "(") (binary_expression "uVar14 - local_28 != 0" (binary_expression "uVar14 - local_28" (identifier "uVar14") (- "-") (identifier "local_28")) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (cast_expression "(int)-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" (- "-") (parenthesized_expression "((uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28))" (( "(") (binary_expression "(uVar17 - ((int)local_28 >> 0x1f)) -\n                                                 (uint)(uVar14 < local_28)" (parenthesized_expression "(uVar17 - ((int)local_28 >> 0x1f))" (( "(") (binary_expression "uVar17 - ((int)local_28 >> 0x1f)" (identifier "uVar17") (- "-") (parenthesized_expression "((int)local_28 >> 0x1f)" (( "(") (binary_expression "(int)local_28 >> 0x1f" (cast_expression "(int)local_28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_28")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar14 < local_28)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < local_28)" (( "(") (binary_expression "uVar14 < local_28" (identifier "uVar14") (< "<") (identifier "local_28")) () ")")))) () ")"))))) () ")")) (; ";")) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" (identifier "iVar6") (= "=") (call_expression "FUN_00067fc0()" (identifier "FUN_00067fc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }\n                                  else {\n                                    local_48 = 7;\n                                  }" (if "if") (parenthesized_expression "((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0))" (( "(") (binary_expression "(iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar17 = FUN_00055930(), uVar17 != 0)" (( "(") (comma_expression "uVar17 = FUN_00055930(), uVar17 != 0" (assignment_expression "uVar17 = FUN_00055930()" (identifier "uVar17") (= "=") (call_expression "FUN_00055930()" (identifier "FUN_00055930") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "uVar17 != 0" (identifier "uVar17") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                                    local_2c = uVar17;\n                                    local_24 = uVar14;\n                                    if (local_48 == 0) goto LAB_0014e9b4;\n                                  }" ({ "{") (expression_statement "local_2c = uVar17;" (assignment_expression "local_2c = uVar17" (identifier "local_2c") (= "=") (identifier "uVar17")) (; ";")) (expression_statement "local_24 = uVar14;" (assignment_expression "local_24 = uVar14" (identifier "local_24") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (local_48 == 0) goto LAB_0014e9b4;" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e9b4;" (goto "goto") (statement_identifier "LAB_0014e9b4") (; ";"))) (} "}")) (else_clause "else {\n                                    local_48 = 7;\n                                  }" (else "else") (compound_statement "{\n                                    local_48 = 7;\n                                  }" ({ "{") (expression_statement "local_48 = 7;" (assignment_expression "local_48 = 7" (identifier "local_48") (= "=") (number_literal "7")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" (else "else") (compound_statement "{\nLAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;\n                                  local_28 = local_28 + 1;\n                                }" ({ "{") (labeled_statement "LAB_0014e9b4:\n                                  *(undefined1 *)(local_2c + local_28) = 0;" (statement_identifier "LAB_0014e9b4") (: ":") (expression_statement "*(undefined1 *)(local_2c + local_28) = 0;" (assignment_expression "*(undefined1 *)(local_2c + local_28) = 0" (pointer_expression "*(undefined1 *)(local_2c + local_28)" (* "*") (cast_expression "(undefined1 *)(local_2c + local_28)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_2c + local_28)" (( "(") (binary_expression "local_2c + local_28" (identifier "local_2c") (+ "+") (identifier "local_28")) () ")")))) (= "=") (number_literal "0")) (; ";"))) (expression_statement "local_28 = local_28 + 1;" (assignment_expression "local_28 = local_28 + 1" (identifier "local_28") (= "=") (binary_expression "local_28 + 1" (identifier "local_28") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" (else "else") (compound_statement "{\n                              if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }\n                              iVar6 = *piVar4;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }\n                              if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }\n                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }\n                              piVar4[10] = uVar14;\n                              if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }\n                              if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }\n                            }" ({ "{") (if_statement "if (2 < bVar1) {\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }" (if "if") (parenthesized_expression "(2 < bVar1)" (( "(") (binary_expression "2 < bVar1" (number_literal "2") (< "<") (identifier "bVar1")) () ")")) (compound_statement "{\n                                if (bVar1 != 5) goto LAB_0014e690;\n                                iVar6 = *piVar4;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }\n                                if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }\n                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }\n                                piVar4[10] = uVar14;\n                                if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }\n                                if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }\n                                if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }\n                                local_94 = local_48;\n                                if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }\n                                local_cc = 1;\n                                local_70 = 1;\n                                uVar14 = 1;\n                                goto LAB_0014eaca;\n                              }" ({ "{") (if_statement "if (bVar1 != 5) goto LAB_0014e690;" (if "if") (parenthesized_expression "(bVar1 != 5)" (( "(") (binary_expression "bVar1 != 5" (identifier "bVar1") (!= "!=") (number_literal "5")) () ")")) (goto_statement "goto LAB_0014e690;" (goto "goto") (statement_identifier "LAB_0014e690") (; ";"))) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                  iVar6 = *piVar4;\n                                }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcf5)" (( "(") (binary_expression "unaff_EDI + 0x6dcf5" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcf5")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar6 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}"))) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }\n                                else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" (if "if") (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" (( "(") (binary_expression "(piVar4[0x1d] == 0) ||\n                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" (( "(") (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (( "(") (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(piVar4 + 0x22)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x22)" (( "(") (binary_expression "piVar4 + 0x22" (identifier "piVar4") (+ "+") (number_literal "0x22")) () ")")))) (<= "<=") (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc"))) () ")"))) () ")")) (compound_statement "{\n                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                  FUN_0004c5a0();\n                                  iVar6 = *piVar4;\n                                  cVar12 = '\x05';\n                                }" ({ "{") (expression_statement "*(undefined4 *)(iVar6 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar6 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar6 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0x19")) (; ";")) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" (identifier "FUN_0004c5a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "cVar12 = '\x05';" (assignment_expression "cVar12 = '\x05'" (identifier "cVar12") (= "=") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" (else "else") (compound_statement "{\n                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));\n                                }" ({ "{") (expression_statement "cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f));" (assignment_expression "cVar12 = *(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" (identifier "cVar12") (= "=") (pointer_expression "*(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" (* "*") (cast_expression "(char *)(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f))" (( "(") (binary_expression "unaff_EDI + 0x16599 +\n                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f)" (binary_expression "unaff_EDI + 0x16599" (identifier "unaff_EDI") (+ "+") (number_literal "0x16599")) (+ "+") (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f)" (( "(") (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)\n                                                    & 0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" (* "*") (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" (( "(") (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "8")) (+ "+") (binary_expression "local_dc * 0x28" (identifier "local_dc") (* "*") (number_literal "0x28"))) () ")")))) (& "&") (number_literal "0x1f")) () ")"))) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }\n                                else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" (if "if") (parenthesized_expression "((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" (( "(") (binary_expression "(*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar6 + 0x4d) == '\0')" (( "(") (binary_expression "*(char *)(iVar6 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x4d)" (* "*") (cast_expression "(char *)(iVar6 + 0x4d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x4d)" (( "(") (binary_expression "iVar6 + 0x4d" (identifier "iVar6") (+ "+") (number_literal "0x4d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(piVar4[10] != 0xc0a)" (( "(") (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0xc0a")) () ")"))) () ")")) (compound_statement "{\n                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);\n                                }" ({ "{") (expression_statement "uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);" (assignment_expression "uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40)" (identifier "uVar14") (= "=") (binary_expression "piVar4[10] & *(uint *)(iVar6 + 0x40)" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (& "&") (pointer_expression "*(uint *)(iVar6 + 0x40)" (* "*") (cast_expression "(uint *)(iVar6 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x40)" (( "(") (binary_expression "iVar6 + 0x40" (identifier "iVar6") (+ "+") (number_literal "0x40")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" (else "else") (compound_statement "{\n                                  uVar14 = FUN_0004c680();\n                                  iVar6 = *piVar4;\n                                }" ({ "{") (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" (identifier "uVar14") (= "=") (call_expression "FUN_0004c680()" (identifier "FUN_0004c680") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}")))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                                }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcfd)" (( "(") (binary_expression "unaff_EDI + 0x6dcfd" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcfd")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar6 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (cVar12 == '\x05') {\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }" (if "if") (parenthesized_expression "(cVar12 == '\x05')" (( "(") (binary_expression "cVar12 == '\x05'" (identifier "cVar12") (== "==") (char_literal "'\x05'" (' "'") (escape_sequence "\x05") (' "'"))) () ")")) (compound_statement "{\n                                  local_cc = 1;\n                                  if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }\nLAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;\n                                  goto LAB_0014e560;\n                                }" ({ "{") (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" (identifier "local_cc") (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar10 == 0) {\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                    uVar14 = 1;\n                                    goto LAB_0014e8bd;\n                                  }" ({ "{") (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0014e8bd;" (goto "goto") (statement_identifier "LAB_0014e8bd") (; ";")) (} "}"))) (labeled_statement "LAB_0014e9cb:\n                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;" (statement_identifier "LAB_0014e9cb") (: ":") (if_statement "if (pcVar20[local_dc] == '\0') goto LAB_0014e900;" (if "if") (parenthesized_expression "(pcVar20[local_dc] == '\0')" (( "(") (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" (identifier "pcVar20") ([ "[") (identifier "local_dc") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0014e900;" (goto "goto") (statement_identifier "LAB_0014e900") (; ";")))) (goto_statement "goto LAB_0014e560;" (goto "goto") (statement_identifier "LAB_0014e560") (; ";")) (} "}"))) (if_statement "if (iVar10 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e560;\n                                }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" (identifier "local_cc") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0014e560;" (goto "goto") (statement_identifier "LAB_0014e560") (; ";")) (} "}"))) (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" (identifier "local_94") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (local_48 != 0) {\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }" (if "if") (parenthesized_expression "(local_48 != 0)" (( "(") (binary_expression "local_48 != 0" (identifier "local_48") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                  local_94 = 0;\n                                  local_cc = 1;\n                                  goto LAB_0014e590;\n                                }" ({ "{") (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" (identifier "local_cc") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0014e590;" (goto "goto") (statement_identifier "LAB_0014e590") (; ";")) (} "}"))) (expression_statement "local_cc = 1;" (assignment_expression "local_cc = 1" (identifier "local_cc") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" (identifier "local_70") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_0014eaca;" (goto "goto") (statement_identifier "LAB_0014eaca") (; ";")) (} "}"))) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));\n                                iVar6 = *piVar4;\n                              }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcf5))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcf5)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcf5)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcf5)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcf5)" (( "(") (binary_expression "unaff_EDI + 0x6dcf5" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcf5")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar6 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}"))) (if_statement "if ((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }\n                              else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" (if "if") (parenthesized_expression "((piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc))" (( "(") (binary_expression "(piVar4[0x1d] == 0) ||\n                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (parenthesized_expression "(piVar4[0x1d] == 0)" (( "(") (binary_expression "piVar4[0x1d] == 0" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)" (( "(") (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc" (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(piVar4 + 0x22)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x22)" (( "(") (binary_expression "piVar4 + 0x22" (identifier "piVar4") (+ "+") (number_literal "0x22")) () ")")))) (<= "<=") (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc"))) () ")"))) () ")")) (compound_statement "{\n                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;\n                                bVar13 = 5;\n                                FUN_0004c5a0();\n                                iVar6 = *piVar4;\n                              }" ({ "{") (expression_statement "*(undefined4 *)(iVar6 + 0x3c) = 0x19;" (assignment_expression "*(undefined4 *)(iVar6 + 0x3c) = 0x19" (pointer_expression "*(undefined4 *)(iVar6 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar6 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x3c)" (( "(") (binary_expression "iVar6 + 0x3c" (identifier "iVar6") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (number_literal "0x19")) (; ";")) (expression_statement "bVar13 = 5;" (assignment_expression "bVar13 = 5" (identifier "bVar13") (= "=") (number_literal "5")) (; ";")) (expression_statement "FUN_0004c5a0();" (call_expression "FUN_0004c5a0()" (identifier "FUN_0004c5a0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}")) (else_clause "else {\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" (else "else") (compound_statement "{\n                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));\n                              }" ({ "{") (expression_statement "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f));" (assignment_expression "bVar13 = *(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (identifier "bVar13") (= "=") (pointer_expression "*(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (* "*") (cast_expression "(byte *)(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f))" (( "(") (binary_expression "unaff_EDI + 0x16599 +\n                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (binary_expression "unaff_EDI + 0x16599" (identifier "unaff_EDI") (+ "+") (number_literal "0x16599")) (+ "+") (parenthesized_expression "(*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f)" (( "(") (binary_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &\n                                                  0x1f" (pointer_expression "*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" (* "*") (cast_expression "(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4[0x1d] + 8 + local_dc * 0x28)" (( "(") (binary_expression "piVar4[0x1d] + 8 + local_dc * 0x28" (binary_expression "piVar4[0x1d] + 8" (subscript_expression "piVar4[0x1d]" (identifier "piVar4") ([ "[") (number_literal "0x1d") (] "]")) (+ "+") (number_literal "8")) (+ "+") (binary_expression "local_dc * 0x28" (identifier "local_dc") (* "*") (number_literal "0x28"))) () ")")))) (& "&") (number_literal "0x1f")) () ")"))) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }\n                              else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" (if "if") (parenthesized_expression "((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a))" (( "(") (binary_expression "(*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)" (parenthesized_expression "(*(char *)(iVar6 + 0x4d) == '\0')" (( "(") (binary_expression "*(char *)(iVar6 + 0x4d) == '\0'" (pointer_expression "*(char *)(iVar6 + 0x4d)" (* "*") (cast_expression "(char *)(iVar6 + 0x4d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x4d)" (( "(") (binary_expression "iVar6 + 0x4d" (identifier "iVar6") (+ "+") (number_literal "0x4d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(piVar4[10] != 0xc0a)" (( "(") (binary_expression "piVar4[10] != 0xc0a" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (!= "!=") (number_literal "0xc0a")) () ")"))) () ")")) (compound_statement "{\n                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];\n                              }" ({ "{") (expression_statement "uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];" (assignment_expression "uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10]" (identifier "uVar14") (= "=") (binary_expression "*(uint *)(iVar6 + 0x40) & piVar4[10]" (pointer_expression "*(uint *)(iVar6 + 0x40)" (* "*") (cast_expression "(uint *)(iVar6 + 0x40)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x40)" (( "(") (binary_expression "iVar6 + 0x40" (identifier "iVar6") (+ "+") (number_literal "0x40")) () ")")))) (& "&") (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")))) (; ";")) (} "}")) (else_clause "else {\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" (else "else") (compound_statement "{\n                                uVar14 = FUN_0004c680();\n                                iVar6 = *piVar4;\n                              }" ({ "{") (expression_statement "uVar14 = FUN_0004c680();" (assignment_expression "uVar14 = FUN_0004c680()" (identifier "uVar14") (= "=") (call_expression "FUN_0004c680()" (identifier "FUN_0004c680") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar6 = *piVar4;" (assignment_expression "iVar6 = *piVar4" (identifier "iVar6") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (} "}")))) (expression_statement "piVar4[10] = uVar14;" (assignment_expression "piVar4[10] = uVar14" (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (*(int *)(iVar6 + 0xc) != 0) {\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }" (if "if") (parenthesized_expression "(*(int *)(iVar6 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar6 + 0xc) != 0" (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));\n                              }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcfd)" (( "(") (binary_expression "unaff_EDI + 0x6dcfd" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcfd")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar6 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (} "}"))) (if_statement "if (bVar1 == bVar13) {\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }\n                              else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" (if "if") (parenthesized_expression "(bVar1 == bVar13)" (( "(") (binary_expression "bVar1 == bVar13" (identifier "bVar1") (== "==") (identifier "bVar13")) () ")")) (compound_statement "{\n                                uVar14 = *(uint *)(local_c4 + 1);\n                                uVar17 = *(uint *)(local_c4 + 5);\n                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;\n                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;\n                                if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }\n                                local_44 = uVar17;\n                                local_40 = uVar14;\n                                FUN_0004c5d0();\n                                lVar22 = (longdouble)FUN_000455a0();\n                                FUN_0004c6c0();\n                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;\nLAB_0014e89a:\n                                local_cc = 9;\n                                if (iVar10 != 0) goto LAB_0014e9cb;\n                                uVar14 = 9;\nLAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;\n                                local_70 = local_48;\n                                if (local_48 == 0) goto LAB_0014eaca;\n                              }" ({ "{") (expression_statement "uVar14 = *(uint *)(local_c4 + 1);" (assignment_expression "uVar14 = *(uint *)(local_c4 + 1)" (identifier "uVar14") (= "=") (pointer_expression "*(uint *)(local_c4 + 1)" (* "*") (cast_expression "(uint *)(local_c4 + 1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c4 + 1)" (( "(") (binary_expression "local_c4 + 1" (identifier "local_c4") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "uVar17 = *(uint *)(local_c4 + 5);" (assignment_expression "uVar17 = *(uint *)(local_c4 + 5)" (identifier "uVar17") (= "=") (pointer_expression "*(uint *)(local_c4 + 5)" (* "*") (cast_expression "(uint *)(local_c4 + 5)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_c4 + 5)" (( "(") (binary_expression "local_c4 + 5" (identifier "local_c4") (+ "+") (number_literal "5")) () ")"))))) (; ";")) (expression_statement "uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;" (assignment_expression "uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (identifier "uVar14") (= "=") (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |\n                                         (uVar14 & 0xff00) << 8" (binary_expression "uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8" (binary_expression "uVar14 >> 0x18" (identifier "uVar14") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar14 & 0xff0000) >> 8" (parenthesized_expression "(uVar14 & 0xff0000)" (( "(") (binary_expression "uVar14 & 0xff0000" (identifier "uVar14") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar14 & 0xff00) << 8" (parenthesized_expression "(uVar14 & 0xff00)" (( "(") (binary_expression "uVar14 & 0xff00" (identifier "uVar14") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar14 << 0x18" (identifier "uVar14") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;" (assignment_expression "uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (identifier "uVar17") (= "=") (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |\n                                         (uVar17 & 0xff00) << 8" (binary_expression "uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8" (binary_expression "uVar17 >> 0x18" (identifier "uVar17") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar17 & 0xff0000) >> 8" (parenthesized_expression "(uVar17 & 0xff0000)" (( "(") (binary_expression "uVar17 & 0xff0000" (identifier "uVar17") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar17 & 0xff00) << 8" (parenthesized_expression "(uVar17 & 0xff00)" (( "(") (binary_expression "uVar17 & 0xff00" (identifier "uVar17") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar17 << 0x18" (identifier "uVar17") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (bVar1 == 1) {\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }" (if "if") (parenthesized_expression "(bVar1 == 1)" (( "(") (binary_expression "bVar1 == 1" (identifier "bVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                                  FUN_0004c5d0();\n                                  lVar24 = FUN_00045540();\n                                  FUN_0004c6c0();\n                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;\n                                  goto LAB_0014e65d;\n                                }" ({ "{") (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" (identifier "FUN_0004c5d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar24 = FUN_00045540();" (assignment_expression "lVar24 = FUN_00045540()" (identifier "lVar24") (= "=") (call_expression "FUN_00045540()" (identifier "FUN_00045540") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" (identifier "FUN_0004c6c0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;" (if "if") (parenthesized_expression "(lVar24 == CONCAT44(uVar14,uVar17))" (( "(") (binary_expression "lVar24 == CONCAT44(uVar14,uVar17)" (identifier "lVar24") (== "==") (call_expression "CONCAT44(uVar14,uVar17)" (identifier "CONCAT44") (argument_list "(uVar14,uVar17)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar17") () ")")))) () ")")) (goto_statement "goto LAB_0014e89a;" (goto "goto") (statement_identifier "LAB_0014e89a") (; ";"))) (goto_statement "goto LAB_0014e65d;" (goto "goto") (statement_identifier "LAB_0014e65d") (; ";")) (} "}"))) (expression_statement "local_44 = uVar17;" (assignment_expression "local_44 = uVar17" (identifier "local_44") (= "=") (identifier "uVar17")) (; ";")) (expression_statement "local_40 = uVar14;" (assignment_expression "local_40 = uVar14" (identifier "local_40") (= "=") (identifier "uVar14")) (; ";")) (expression_statement "FUN_0004c5d0();" (call_expression "FUN_0004c5d0()" (identifier "FUN_0004c5d0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "lVar22 = (longdouble)FUN_000455a0();" (assignment_expression "lVar22 = (longdouble)FUN_000455a0()" (identifier "lVar22") (= "=") (cast_expression "(longdouble)FUN_000455a0()" (( "(") (type_descriptor "longdouble" (type_identifier "longdouble")) () ")") (call_expression "FUN_000455a0()" (identifier "FUN_000455a0") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "FUN_0004c6c0();" (call_expression "FUN_0004c6c0()" (identifier "FUN_0004c6c0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))\n                                goto LAB_0014e65d;" (if "if") (parenthesized_expression "((double)lVar22 != (double)CONCAT44(uVar14,uVar17))" (( "(") (binary_expression "(double)lVar22 != (double)CONCAT44(uVar14,uVar17)" (cast_expression "(double)lVar22" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (identifier "lVar22")) (!= "!=") (cast_expression "(double)CONCAT44(uVar14,uVar17)" (( "(") (type_descriptor "double" (primitive_type "double")) () ")") (call_expression "CONCAT44(uVar14,uVar17)" (identifier "CONCAT44") (argument_list "(uVar14,uVar17)" (( "(") (identifier "uVar14") (, ",") (identifier "uVar17") () ")"))))) () ")")) (goto_statement "goto LAB_0014e65d;" (goto "goto") (statement_identifier "LAB_0014e65d") (; ";"))) (labeled_statement "LAB_0014e89a:\n                                local_cc = 9;" (statement_identifier "LAB_0014e89a") (: ":") (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" (identifier "local_cc") (= "=") (number_literal "9")) (; ";"))) (if_statement "if (iVar10 != 0) goto LAB_0014e9cb;" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e9cb;" (goto "goto") (statement_identifier "LAB_0014e9cb") (; ";"))) (expression_statement "uVar14 = 9;" (assignment_expression "uVar14 = 9" (identifier "uVar14") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_0014e8bd:\n                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;" (statement_identifier "LAB_0014e8bd") (: ":") (if_statement "if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;" (if "if") (parenthesized_expression "(pcVar20[local_dc] == '\0')" (( "(") (binary_expression "pcVar20[local_dc] == '\0'" (subscript_expression "pcVar20[local_dc]" (identifier "pcVar20") ([ "[") (identifier "local_dc") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_0014e8c6;" (goto "goto") (statement_identifier "LAB_0014e8c6") (; ";")))) (expression_statement "local_70 = local_48;" (assignment_expression "local_70 = local_48" (identifier "local_70") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (local_48 == 0) goto LAB_0014eaca;" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014eaca;" (goto "goto") (statement_identifier "LAB_0014eaca") (; ";"))) (} "}")) (else_clause "else {\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" (else "else") (compound_statement "{\nLAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }\n                                local_94 = 0;\n                                local_cc = 9;\nLAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }\n                              }" ({ "{") (labeled_statement "LAB_0014e65d:\n                                if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" (statement_identifier "LAB_0014e65d") (: ":") (if_statement "if (iVar10 == 0) {\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                  local_94 = local_48;\n                                  if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }\n                                  local_94 = 0;\n                                  local_cc = 9;\n                                  goto LAB_0014e590;\n                                }" ({ "{") (expression_statement "local_94 = local_48;" (assignment_expression "local_94 = local_48" (identifier "local_94") (= "=") (identifier "local_48")) (; ";")) (if_statement "if (local_48 == 0) {\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                    local_cc = 9;\n                                    local_70 = 1;\n                                    uVar14 = 9;\n                                    goto LAB_0014eaca;\n                                  }" ({ "{") (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" (identifier "local_cc") (= "=") (number_literal "9")) (; ";")) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" (identifier "local_70") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar14 = 9;" (assignment_expression "uVar14 = 9" (identifier "uVar14") (= "=") (number_literal "9")) (; ";")) (goto_statement "goto LAB_0014eaca;" (goto "goto") (statement_identifier "LAB_0014eaca") (; ";")) (} "}"))) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" (identifier "local_cc") (= "=") (number_literal "9")) (; ";")) (goto_statement "goto LAB_0014e590;" (goto "goto") (statement_identifier "LAB_0014e590") (; ";")) (} "}")))) (expression_statement "local_94 = 0;" (assignment_expression "local_94 = 0" (identifier "local_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_cc = 9;" (assignment_expression "local_cc = 9" (identifier "local_cc") (= "=") (number_literal "9")) (; ";")) (labeled_statement "LAB_0014e560:\n                                if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }" (statement_identifier "LAB_0014e560") (: ":") (if_statement "if (local_48 == 0) {\n                                  FUN_000a1c40(&local_48);\n                                }" (if "if") (parenthesized_expression "(local_48 == 0)" (( "(") (binary_expression "local_48 == 0" (identifier "local_48") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                                  FUN_000a1c40(&local_48);\n                                }" ({ "{") (expression_statement "FUN_000a1c40(&local_48);" (call_expression "FUN_000a1c40(&local_48)" (identifier "FUN_000a1c40") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (} "}")))) (} "}")))) (} "}")))) (labeled_statement "LAB_0014e590:\n                            local_dc = local_dc + 1;" (statement_identifier "LAB_0014e590") (: ":") (expression_statement "local_dc = local_dc + 1;" (assignment_expression "local_dc = local_dc + 1" (identifier "local_dc") (= "=") (binary_expression "local_dc + 1" (identifier "local_dc") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "local_c4 = local_c4 + local_cc;" (assignment_expression "local_c4 = local_c4 + local_cc" (identifier "local_c4") (= "=") (binary_expression "local_c4 + local_cc" (identifier "local_c4") (+ "+") (identifier "local_cc"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22))" (( "(") (binary_expression "(int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)local_dc" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_dc")) (< "<") (binary_expression "(int)(uint)*(ushort *)(piVar4 + 0x22)" (cast_expression "(int)(uint)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(piVar4 + 0x22)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x22)" (( "(") (binary_expression "piVar4 + 0x22" (identifier "piVar4") (+ "+") (number_literal "0x22")) () ")"))))) () ")")) (; ";")) (if_statement "if (local_94 == 0) {\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }" (if "if") (parenthesized_expression "(local_94 == 0)" (( "(") (binary_expression "local_94 == 0" (identifier "local_94") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                            FUN_000a1a70(&local_48);\n                            uVar9 = local_34;\n                          }" ({ "{") (expression_statement "FUN_000a1a70(&local_48);" (call_expression "FUN_000a1a70(&local_48)" (identifier "FUN_000a1a70") (argument_list "(&local_48)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" (identifier "uVar9") (= "=") (identifier "local_34")) (; ";")) (} "}"))) (} "}")))) (expression_statement "local_34 = uVar9;" (assignment_expression "local_34 = uVar9" (identifier "local_34") (= "=") (identifier "uVar9")) (; ";")) (expression_statement "FUN_00044000(local_2c);" (call_expression "FUN_00044000(local_2c)" (identifier "FUN_00044000") (argument_list "(local_2c)" (( "(") (identifier "local_2c") () ")"))) (; ";")) (expression_statement "local_5c = local_48;" (assignment_expression "local_5c = local_48" (identifier "local_5c") (= "=") (identifier "local_48")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" (else "else") (if_statement "if (*local_b4 != 0x12) {\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" (if "if") (parenthesized_expression "(*local_b4 != 0x12)" (( "(") (binary_expression "*local_b4 != 0x12" (pointer_expression "*local_b4" (* "*") (identifier "local_b4")) (!= "!=") (number_literal "0x12")) () ")")) (compound_statement "{\n                      local_44 = 0;\n                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }\nLAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];\n                      if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }\n                      local_5c = local_44;\n                    }" ({ "{") (expression_statement "local_44 = 0;" (assignment_expression "local_44 = 0" (identifier "local_44") (= "=") (number_literal "0")) (; ";")) (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }\n                      else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" (if "if") (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" (( "(") (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" (identifier "local_30") (== "==") (identifier "local_34")) (|| "||") (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_30 - local_34)" (( "(") (binary_expression "local_30 - local_34" (identifier "local_30") (- "-") (identifier "local_34")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                        uVar14 = local_30;\n                        if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }\n                        uVar9 = (int)uVar14 >> 0x1f;\n                        do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));\n                        iVar6 = FUN_00067fc0();\n                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }\n                      }" ({ "{") (expression_statement "uVar14 = local_30;" (assignment_expression "uVar14 = local_30" (identifier "uVar14") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n                          uVar14 = 0x80;\n                        }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          uVar14 = 0x80;\n                        }" ({ "{") (expression_statement "uVar14 = 0x80;" (assignment_expression "uVar14 = 0x80" (identifier "uVar14") (= "=") (number_literal "0x80")) (; ";")) (} "}"))) (expression_statement "uVar9 = (int)uVar14 >> 0x1f;" (assignment_expression "uVar9 = (int)uVar14 >> 0x1f" (identifier "uVar9") (= "=") (binary_expression "(int)uVar14 >> 0x1f" (cast_expression "(int)uVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar14")) (>> ">>") (number_literal "0x1f"))) (; ";")) (do_statement "do {\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        } while ((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)));" (do "do") (compound_statement "{\n                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;\n                          uVar14 = uVar14 * 2;\n                        }" ({ "{") (expression_statement "uVar9 = uVar9 << 1 | uVar14 >> 0x1f;" (assignment_expression "uVar9 = uVar9 << 1 | uVar14 >> 0x1f" (identifier "uVar9") (= "=") (binary_expression "uVar9 << 1 | uVar14 >> 0x1f" (binary_expression "uVar9 << 1" (identifier "uVar9") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar14 >> 0x1f" (identifier "uVar14") (>> ">>") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar14 = uVar14 * 2;" (assignment_expression "uVar14 = uVar14 * 2" (identifier "uVar14") (= "=") (binary_expression "uVar14 * 2" (identifier "uVar14") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)))" (( "(") (binary_expression "(int)(uint)(uVar14 - local_34 != 0) <=\n                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" (cast_expression "(int)(uint)(uVar14 - local_34 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar14 - local_34 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 - local_34 != 0)" (( "(") (binary_expression "uVar14 - local_34 != 0" (binary_expression "uVar14 - local_34" (identifier "uVar14") (- "-") (identifier "local_34")) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (cast_expression "(int)-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" (- "-") (parenthesized_expression "((uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34))" (( "(") (binary_expression "(uVar9 - ((int)local_34 >> 0x1f)) -\n                                       (uint)(uVar14 < local_34)" (parenthesized_expression "(uVar9 - ((int)local_34 >> 0x1f))" (( "(") (binary_expression "uVar9 - ((int)local_34 >> 0x1f)" (identifier "uVar9") (- "-") (parenthesized_expression "((int)local_34 >> 0x1f)" (( "(") (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar14 < local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar14 < local_34)" (( "(") (binary_expression "uVar14 < local_34" (identifier "uVar14") (< "<") (identifier "local_34")) () ")")))) () ")"))))) () ")")) (; ";")) (expression_statement "iVar6 = FUN_00067fc0();" (assignment_expression "iVar6 = FUN_00067fc0()" (identifier "iVar6") (= "=") (call_expression "FUN_00067fc0()" (identifier "FUN_00067fc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }\n                        else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" (if "if") (parenthesized_expression "((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0))" (( "(") (binary_expression "(iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)" (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_00055930(), iVar6 != 0)" (( "(") (comma_expression "iVar6 = FUN_00055930(), iVar6 != 0" (assignment_expression "iVar6 = FUN_00055930()" (identifier "iVar6") (= "=") (call_expression "FUN_00055930()" (identifier "FUN_00055930") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                          uVar9 = local_34;\n                          local_38 = iVar6;\n                          local_30 = uVar14;\n                          if (local_44 == 0) goto LAB_0014e098;\n                        }" ({ "{") (expression_statement "uVar9 = local_34;" (assignment_expression "uVar9 = local_34" (identifier "uVar9") (= "=") (identifier "local_34")) (; ";")) (expression_statement "local_38 = iVar6;" (assignment_expression "local_38 = iVar6" (identifier "local_38") (= "=") (identifier "iVar6")) (; ";")) (expression_statement "local_30 = uVar14;" (assignment_expression "local_30 = uVar14" (identifier "local_30") (= "=") (identifier "uVar14")) (; ";")) (if_statement "if (local_44 == 0) goto LAB_0014e098;" (if "if") (parenthesized_expression "(local_44 == 0)" (( "(") (binary_expression "local_44 == 0" (identifier "local_44") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e098;" (goto "goto") (statement_identifier "LAB_0014e098") (; ";"))) (} "}")) (else_clause "else {\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" (else "else") (compound_statement "{\nLAB_0014ecf9:\n                          local_44 = 7;\n                        }" ({ "{") (labeled_statement "LAB_0014ecf9:\n                          local_44 = 7;" (statement_identifier "LAB_0014ecf9") (: ":") (expression_statement "local_44 = 7;" (assignment_expression "local_44 = 7" (identifier "local_44") (= "=") (number_literal "7")) (; ";"))) (} "}")))) (} "}")) (else_clause "else {\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" (else "else") (compound_statement "{\nLAB_0014e098:\n                        local_34 = uVar9 + 1;\n                        *(undefined1 *)(local_38 + uVar9) = 9;\n                        iVar6 = local_b4[1];\n                        if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }\n                      }" ({ "{") (labeled_statement "LAB_0014e098:\n                        local_34 = uVar9 + 1;" (statement_identifier "LAB_0014e098") (: ":") (expression_statement "local_34 = uVar9 + 1;" (assignment_expression "local_34 = uVar9 + 1" (identifier "local_34") (= "=") (binary_expression "uVar9 + 1" (identifier "uVar9") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*(undefined1 *)(local_38 + uVar9) = 9;" (assignment_expression "*(undefined1 *)(local_38 + uVar9) = 9" (pointer_expression "*(undefined1 *)(local_38 + uVar9)" (* "*") (cast_expression "(undefined1 *)(local_38 + uVar9)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + uVar9)" (( "(") (binary_expression "local_38 + uVar9" (identifier "local_38") (+ "+") (identifier "uVar9")) () ")")))) (= "=") (number_literal "9")) (; ";")) (expression_statement "iVar6 = local_b4[1];" (assignment_expression "iVar6 = local_b4[1]" (identifier "iVar6") (= "=") (subscript_expression "local_b4[1]" (identifier "local_b4") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (local_44 == 0) {\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }" (if "if") (parenthesized_expression "(local_44 == 0)" (( "(") (binary_expression "local_44 == 0" (identifier "local_44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }\n                          local_94._0_1_ = (undefined1)iVar6;\n                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;\n                          local_34 = local_34 + 1;\n                        }" ({ "{") (if_statement "if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }" (if "if") (parenthesized_expression "(local_30 == local_34 || (int)(local_30 - local_34) < 0)" (( "(") (binary_expression "local_30 == local_34 || (int)(local_30 - local_34) < 0" (binary_expression "local_30 == local_34" (identifier "local_30") (== "==") (identifier "local_34")) (|| "||") (binary_expression "(int)(local_30 - local_34) < 0" (cast_expression "(int)(local_30 - local_34)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_30 - local_34)" (( "(") (binary_expression "local_30 - local_34" (identifier "local_30") (- "-") (identifier "local_34")) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                            uVar9 = local_30;\n                            if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }\n                            uVar14 = (int)uVar9 >> 0x1f;\n                            do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));\n                            iVar16 = FUN_00067fc0();\n                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;\n                            local_38 = iVar16;\n                            local_30 = uVar9;\n                            if (local_44 != 0) goto LAB_0014e17a;\n                          }" ({ "{") (expression_statement "uVar9 = local_30;" (assignment_expression "uVar9 = local_30" (identifier "uVar9") (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n                              uVar9 = 0x80;\n                            }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                              uVar9 = 0x80;\n                            }" ({ "{") (expression_statement "uVar9 = 0x80;" (assignment_expression "uVar9 = 0x80" (identifier "uVar9") (= "=") (number_literal "0x80")) (; ";")) (} "}"))) (expression_statement "uVar14 = (int)uVar9 >> 0x1f;" (assignment_expression "uVar14 = (int)uVar9 >> 0x1f" (identifier "uVar14") (= "=") (binary_expression "(int)uVar9 >> 0x1f" (cast_expression "(int)uVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar9")) (>> ">>") (number_literal "0x1f"))) (; ";")) (do_statement "do {\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            } while ((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)));" (do "do") (compound_statement "{\n                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;\n                              uVar9 = uVar9 * 2;\n                            }" ({ "{") (expression_statement "uVar14 = uVar14 << 1 | uVar9 >> 0x1f;" (assignment_expression "uVar14 = uVar14 << 1 | uVar9 >> 0x1f" (identifier "uVar14") (= "=") (binary_expression "uVar14 << 1 | uVar9 >> 0x1f" (binary_expression "uVar14 << 1" (identifier "uVar14") (<< "<<") (number_literal "1")) (| "|") (binary_expression "uVar9 >> 0x1f" (identifier "uVar9") (>> ">>") (number_literal "0x1f")))) (; ";")) (expression_statement "uVar9 = uVar9 * 2;" (assignment_expression "uVar9 = uVar9 * 2" (identifier "uVar9") (= "=") (binary_expression "uVar9 * 2" (identifier "uVar9") (* "*") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)))" (( "(") (binary_expression "(int)(uint)(uVar9 - local_34 != 0) <=\n                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" (cast_expression "(int)(uint)(uVar9 - local_34 != 0)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (call_expression "(uint)(uVar9 - local_34 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 - local_34 != 0)" (( "(") (binary_expression "uVar9 - local_34 != 0" (binary_expression "uVar9 - local_34" (identifier "uVar9") (- "-") (identifier "local_34")) (!= "!=") (number_literal "0")) () ")")))) (<= "<=") (cast_expression "(int)-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (unary_expression "-((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" (- "-") (parenthesized_expression "((uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34))" (( "(") (binary_expression "(uVar14 - ((int)local_34 >> 0x1f)) -\n                                           (uint)(uVar9 < local_34)" (parenthesized_expression "(uVar14 - ((int)local_34 >> 0x1f))" (( "(") (binary_expression "uVar14 - ((int)local_34 >> 0x1f)" (identifier "uVar14") (- "-") (parenthesized_expression "((int)local_34 >> 0x1f)" (( "(") (binary_expression "(int)local_34 >> 0x1f" (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34")) (>> ">>") (number_literal "0x1f")) () ")"))) () ")")) (- "-") (call_expression "(uint)(uVar9 < local_34)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar9 < local_34)" (( "(") (binary_expression "uVar9 < local_34" (identifier "uVar9") (< "<") (identifier "local_34")) () ")")))) () ")"))))) () ")")) (; ";")) (expression_statement "iVar16 = FUN_00067fc0();" (assignment_expression "iVar16 = FUN_00067fc0()" (identifier "iVar16") (= "=") (call_expression "FUN_00067fc0()" (identifier "FUN_00067fc0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))\n                            goto LAB_0014ecf9;" (if "if") (parenthesized_expression "((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))" (( "(") (binary_expression "(iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0)" (parenthesized_expression "(iVar16 != 0)" (( "(") (binary_expression "iVar16 != 0" (identifier "iVar16") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar16 = FUN_00055930(), iVar16 == 0)" (( "(") (comma_expression "iVar16 = FUN_00055930(), iVar16 == 0" (assignment_expression "iVar16 = FUN_00055930()" (identifier "iVar16") (= "=") (call_expression "FUN_00055930()" (identifier "FUN_00055930") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar16 == 0" (identifier "iVar16") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0014ecf9;" (goto "goto") (statement_identifier "LAB_0014ecf9") (; ";"))) (expression_statement "local_38 = iVar16;" (assignment_expression "local_38 = iVar16" (identifier "local_38") (= "=") (identifier "iVar16")) (; ";")) (expression_statement "local_30 = uVar9;" (assignment_expression "local_30 = uVar9" (identifier "local_30") (= "=") (identifier "uVar9")) (; ";")) (if_statement "if (local_44 != 0) goto LAB_0014e17a;" (if "if") (parenthesized_expression "(local_44 != 0)" (( "(") (binary_expression "local_44 != 0" (identifier "local_44") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014e17a;" (goto "goto") (statement_identifier "LAB_0014e17a") (; ";"))) (} "}"))) (expression_statement "local_94._0_1_ = (undefined1)iVar6;" (assignment_expression "local_94._0_1_ = (undefined1)iVar6" (field_expression "local_94._0_1_" (identifier "local_94") (. ".") (field_identifier "_0_1_")) (= "=") (cast_expression "(undefined1)iVar6" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "iVar6"))) (; ";")) (expression_statement "*(undefined1 *)(local_38 + local_34) = (undefined1)local_94;" (assignment_expression "*(undefined1 *)(local_38 + local_34) = (undefined1)local_94" (pointer_expression "*(undefined1 *)(local_38 + local_34)" (* "*") (cast_expression "(undefined1 *)(local_38 + local_34)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_38 + local_34)" (( "(") (binary_expression "local_38 + local_34" (identifier "local_38") (+ "+") (identifier "local_34")) () ")")))) (= "=") (cast_expression "(undefined1)local_94" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "local_94"))) (; ";")) (expression_statement "local_34 = local_34 + 1;" (assignment_expression "local_34 = local_34 + 1" (identifier "local_34") (= "=") (binary_expression "local_34 + 1" (identifier "local_34") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_0014e17a:\n                      pbVar15 = (byte *)local_b4[3];" (statement_identifier "LAB_0014e17a") (: ":") (expression_statement "pbVar15 = (byte *)local_b4[3];" (assignment_expression "pbVar15 = (byte *)local_b4[3]" (identifier "pbVar15") (= "=") (cast_expression "(byte *)local_b4[3]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_b4[3]" (identifier "local_b4") ([ "[") (number_literal "3") (] "]")))) (; ";"))) (if_statement "if (iVar10 == 0) {\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }\n                      else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                        sVar11 = local_b4[2];\n                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }\n                      }" ({ "{") (expression_statement "sVar11 = local_b4[2];" (assignment_expression "sVar11 = local_b4[2]" (identifier "sVar11") (= "=") (subscript_expression "local_b4[2]" (identifier "local_b4") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }" (if "if") (parenthesized_expression "((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0))" (( "(") (binary_expression "(0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)" (parenthesized_expression "(0 < (int)sVar11)" (( "(") (binary_expression "0 < (int)sVar11" (number_literal "0") (< "<") (cast_expression "(int)sVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar11"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_000a19a0(), iVar6 == 0)" (( "(") (comma_expression "iVar6 = FUN_000a19a0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_000a19a0()" (identifier "iVar6") (= "=") (call_expression "FUN_000a19a0()" (identifier "FUN_000a19a0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                          local_34 = local_34 + sVar11;\n                        }" ({ "{") (expression_statement "memcpy((void *)(local_34 + local_38),pbVar15,sVar11);" (call_expression "memcpy((void *)(local_34 + local_38),pbVar15,sVar11)" (identifier "memcpy") (argument_list "((void *)(local_34 + local_38),pbVar15,sVar11)" (( "(") (cast_expression "(void *)(local_34 + local_38)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 + local_38)" (( "(") (binary_expression "local_34 + local_38" (identifier "local_34") (+ "+") (identifier "local_38")) () ")"))) (, ",") (identifier "pbVar15") (, ",") (identifier "sVar11") () ")"))) (; ";")) (expression_statement "local_34 = local_34 + sVar11;" (assignment_expression "local_34 = local_34 + sVar11" (identifier "local_34") (= "=") (binary_expression "local_34 + sVar11" (identifier "local_34") (+ "+") (identifier "sVar11"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" (else "else") (if_statement "if (0 < (int)sVar11) {\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" (if "if") (parenthesized_expression "(0 < (int)sVar11)" (( "(") (binary_expression "0 < (int)sVar11" (number_literal "0") (< "<") (cast_expression "(int)sVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar11"))) () ")")) (compound_statement "{\n                        pcVar7 = pcVar20 + sVar11;\n                        do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);\n                      }" ({ "{") (expression_statement "pcVar7 = pcVar20 + sVar11;" (assignment_expression "pcVar7 = pcVar20 + sVar11" (identifier "pcVar7") (= "=") (binary_expression "pcVar20 + sVar11" (identifier "pcVar20") (+ "+") (identifier "sVar11"))) (; ";")) (do_statement "do {\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        } while (pcVar20 != pcVar7);" (do "do") (compound_statement "{\n                          bVar1 = *pbVar15;\n                          pbVar18 = pbVar15 + 1;\n                          if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }\n                          if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }\n                          pcVar20 = pcVar20 + 1;\n                          pbVar15 = pbVar18;\n                        }" ({ "{") (expression_statement "bVar1 = *pbVar15;" (assignment_expression "bVar1 = *pbVar15" (identifier "bVar1") (= "=") (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15"))) (; ";")) (expression_statement "pbVar18 = pbVar15 + 1;" (assignment_expression "pbVar18 = pbVar15 + 1" (identifier "pbVar18") (= "=") (binary_expression "pbVar15 + 1" (identifier "pbVar15") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar1 < 3) {\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }\n                          else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" (if "if") (parenthesized_expression "(bVar1 < 3)" (( "(") (binary_expression "bVar1 < 3" (identifier "bVar1") (< "<") (number_literal "3")) () ")")) (compound_statement "{\n                            if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }\nLAB_0014e1b0:\n                            cVar12 = *pcVar20;\n                          }" ({ "{") (if_statement "if (bVar1 != 0) {\n                              pbVar18 = pbVar15 + 9;\n                            }" (if "if") (parenthesized_expression "(bVar1 != 0)" (( "(") (binary_expression "bVar1 != 0" (identifier "bVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                              pbVar18 = pbVar15 + 9;\n                            }" ({ "{") (expression_statement "pbVar18 = pbVar15 + 9;" (assignment_expression "pbVar18 = pbVar15 + 9" (identifier "pbVar18") (= "=") (binary_expression "pbVar15 + 9" (identifier "pbVar15") (+ "+") (number_literal "9"))) (; ";")) (} "}"))) (labeled_statement "LAB_0014e1b0:\n                            cVar12 = *pcVar20;" (statement_identifier "LAB_0014e1b0") (: ":") (expression_statement "cVar12 = *pcVar20;" (assignment_expression "cVar12 = *pcVar20" (identifier "cVar12") (= "=") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20"))) (; ";"))) (} "}")) (else_clause "else {\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" (else "else") (compound_statement "{\n                            if (bVar1 == 5) goto LAB_0014e1b0;\n                            uVar14 = 1;\n                            uVar9 = (uint)pbVar15[1];\n                            if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }\n                            pbVar18 = pbVar18 + uVar9 + uVar14;\n                            cVar12 = *pcVar20;\n                          }" ({ "{") (if_statement "if (bVar1 == 5) goto LAB_0014e1b0;" (if "if") (parenthesized_expression "(bVar1 == 5)" (( "(") (binary_expression "bVar1 == 5" (identifier "bVar1") (== "==") (number_literal "5")) () ")")) (goto_statement "goto LAB_0014e1b0;" (goto "goto") (statement_identifier "LAB_0014e1b0") (; ";"))) (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar9 = (uint)pbVar15[1];" (assignment_expression "uVar9 = (uint)pbVar15[1]" (identifier "uVar9") (= "=") (cast_expression "(uint)pbVar15[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((char)pbVar15[1] < '\0') {\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }" (if "if") (parenthesized_expression "((char)pbVar15[1] < '\0')" (( "(") (binary_expression "(char)pbVar15[1] < '\0'" (cast_expression "(char)pbVar15[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                              uVar14 = FUN_00044cf0();\n                              uVar14 = uVar14 & 0xff;\n                              uVar9 = local_2c;\n                            }" ({ "{") (expression_statement "uVar14 = FUN_00044cf0();" (assignment_expression "uVar14 = FUN_00044cf0()" (identifier "uVar14") (= "=") (call_expression "FUN_00044cf0()" (identifier "FUN_00044cf0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" (identifier "uVar14") (= "=") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "uVar9 = local_2c;" (assignment_expression "uVar9 = local_2c" (identifier "uVar9") (= "=") (identifier "local_2c")) (; ";")) (} "}"))) (expression_statement "pbVar18 = pbVar18 + uVar9 + uVar14;" (assignment_expression "pbVar18 = pbVar18 + uVar9 + uVar14" (identifier "pbVar18") (= "=") (binary_expression "pbVar18 + uVar9 + uVar14" (binary_expression "pbVar18 + uVar9" (identifier "pbVar18") (+ "+") (identifier "uVar9")) (+ "+") (identifier "uVar14"))) (; ";")) (expression_statement "cVar12 = *pcVar20;" (assignment_expression "cVar12 = *pcVar20" (identifier "cVar12") (= "=") (pointer_expression "*pcVar20" (* "*") (identifier "pcVar20"))) (; ";")) (} "}")))) (if_statement "if (((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }" (if "if") (parenthesized_expression "(((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0))" (( "(") (binary_expression "((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&\n                             (iVar6 = FUN_000a19a0(), iVar6 == 0)" (parenthesized_expression "((cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11))" (( "(") (binary_expression "(cVar12 != '\0') &&\n                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)" (parenthesized_expression "(cVar12 != '\0')" (( "(") (binary_expression "cVar12 != '\0'" (identifier "cVar12") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)" (( "(") (comma_expression "sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11" (assignment_expression "sVar11 = (int)pbVar18 - (int)pbVar15" (identifier "sVar11") (= "=") (binary_expression "(int)pbVar18 - (int)pbVar15" (cast_expression "(int)pbVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar18")) (- "-") (cast_expression "(int)pbVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar15")))) (, ",") (binary_expression "0 < (int)sVar11" (number_literal "0") (< "<") (cast_expression "(int)sVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar11")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iVar6 = FUN_000a19a0(), iVar6 == 0)" (( "(") (comma_expression "iVar6 = FUN_000a19a0(), iVar6 == 0" (assignment_expression "iVar6 = FUN_000a19a0()" (identifier "iVar6") (= "=") (call_expression "FUN_000a19a0()" (identifier "FUN_000a19a0") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);\n                            local_34 = local_34 + sVar11;\n                          }" ({ "{") (expression_statement "memcpy((void *)(local_34 + local_38),pbVar15,sVar11);" (call_expression "memcpy((void *)(local_34 + local_38),pbVar15,sVar11)" (identifier "memcpy") (argument_list "((void *)(local_34 + local_38),pbVar15,sVar11)" (( "(") (cast_expression "(void *)(local_34 + local_38)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_34 + local_38)" (( "(") (binary_expression "local_34 + local_38" (identifier "local_34") (+ "+") (identifier "local_38")) () ")"))) (, ",") (identifier "pbVar15") (, ",") (identifier "sVar11") () ")"))) (; ";")) (expression_statement "local_34 = local_34 + sVar11;" (assignment_expression "local_34 = local_34 + sVar11" (identifier "local_34") (= "=") (binary_expression "local_34 + sVar11" (identifier "local_34") (+ "+") (identifier "sVar11"))) (; ";")) (} "}"))) (expression_statement "pcVar20 = pcVar20 + 1;" (assignment_expression "pcVar20 = pcVar20 + 1" (identifier "pcVar20") (= "=") (binary_expression "pcVar20 + 1" (identifier "pcVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar15 = pbVar18;" (assignment_expression "pbVar15 = pbVar18" (identifier "pbVar15") (= "=") (identifier "pbVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar20 != pcVar7)" (( "(") (binary_expression "pcVar20 != pcVar7" (identifier "pcVar20") (!= "!=") (identifier "pcVar7")) () ")")) (; ";")) (} "}"))))) (expression_statement "local_5c = local_44;" (assignment_expression "local_5c = local_44" (identifier "local_5c") (= "=") (identifier "local_44")) (; ";")) (} "}"))))) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (local_5c != 0) goto LAB_0014d9b9;" (if "if") (parenthesized_expression "(local_5c != 0)" (( "(") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014d9b9;" (goto "goto") (statement_identifier "LAB_0014d9b9") (; ";"))) (expression_statement "local_5c = FUN_000bfe40(local_4c);" (assignment_expression "local_5c = FUN_000bfe40(local_4c)" (identifier "local_5c") (= "=") (call_expression "FUN_000bfe40(local_4c)" (identifier "FUN_000bfe40") (argument_list "(local_4c)" (( "(") (identifier "local_4c") () ")")))) (; ";")) (if_statement "if (extraout_ECX == (code *)0x0) {\n                      bVar21 = local_5c == 0;\n                    }\n                    else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" (if "if") (parenthesized_expression "(extraout_ECX == (code *)0x0)" (( "(") (binary_expression "extraout_ECX == (code *)0x0" (identifier "extraout_ECX") (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                      bVar21 = local_5c == 0;\n                    }" ({ "{") (expression_statement "bVar21 = local_5c == 0;" (assignment_expression "bVar21 = local_5c == 0" (identifier "bVar21") (= "=") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0"))) (; ";")) (} "}")) (else_clause "else {\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" (else "else") (compound_statement "{\n                      piVar4 = local_4c;\n                      if (local_5c != 0) goto LAB_0014d9b9;\n                      if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }\n                    }" ({ "{") (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (local_5c != 0) goto LAB_0014d9b9;" (if "if") (parenthesized_expression "(local_5c != 0)" (( "(") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014d9b9;" (goto "goto") (statement_identifier "LAB_0014d9b9") (; ";"))) (if_statement "if (((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }\n                      else {\n                        bVar21 = true;\n                      }" (if "if") (parenthesized_expression "(((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34))" (( "(") (binary_expression "((int)local_74 < (int)local_34) &&\n                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)" (parenthesized_expression "((int)local_74 < (int)local_34)" (( "(") (binary_expression "(int)local_74 < (int)local_34" (cast_expression "(int)local_74" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_74")) (< "<") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)" (( "(") (binary_expression "*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34" (pointer_expression "*(int *)(&DAT_0006dc5d + unaff_EDI)" (* "*") (cast_expression "(int *)(&DAT_0006dc5d + unaff_EDI)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_0006dc5d + unaff_EDI)" (( "(") (binary_expression "&DAT_0006dc5d + unaff_EDI" (pointer_expression "&DAT_0006dc5d" (& "&") (identifier "DAT_0006dc5d")) (+ "+") (identifier "unaff_EDI")) () ")")))) (< "<") (cast_expression "(int)local_34" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_34"))) () ")"))) () ")")) (compound_statement "{\n                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);\n                        local_34 = 0;\n                        bVar21 = local_5c == 0;\n                        local_74 = 0xffffffff;\n                      }" ({ "{") (expression_statement "local_5c = (*extraout_ECX)(param_1,local_38,local_34);" (assignment_expression "local_5c = (*extraout_ECX)(param_1,local_38,local_34)" (identifier "local_5c") (= "=") (call_expression "(*extraout_ECX)(param_1,local_38,local_34)" (parenthesized_expression "(*extraout_ECX)" (( "(") (pointer_expression "*extraout_ECX" (* "*") (identifier "extraout_ECX")) () ")")) (argument_list "(param_1,local_38,local_34)" (( "(") (identifier "param_1") (, ",") (identifier "local_38") (, ",") (identifier "local_34") () ")")))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar21 = local_5c == 0;" (assignment_expression "bVar21 = local_5c == 0" (identifier "bVar21") (= "=") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0"))) (; ";")) (expression_statement "local_74 = 0xffffffff;" (assignment_expression "local_74 = 0xffffffff" (identifier "local_74") (= "=") (number_literal "0xffffffff")) (; ";")) (} "}")) (else_clause "else {\n                        bVar21 = true;\n                      }" (else "else") (compound_statement "{\n                        bVar21 = true;\n                      }" ({ "{") (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" (identifier "bVar21") (= "=") (true "true")) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" (else "else") (compound_statement "{\n                    iVar6 = 0;\n                    do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));\n                    local_5c = local_dc;\n                    piVar4 = local_4c;\n                    if (local_dc == 0) goto LAB_0014ddea;\n                  }" ({ "{") (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));" (do "do") (compound_statement "{\n                      iVar16 = iVar6 + 1;\n                      if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }\n                      uVar9 = (uint)pbVar15[1];\n                      if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }\n                      bVar21 = true;\n                      local_dc = 0;\n                      if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }\n                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;\n                      iVar6 = iVar16;\n                    }" ({ "{") (expression_statement "iVar16 = iVar6 + 1;" (assignment_expression "iVar16 = iVar6 + 1" (identifier "iVar16") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pbVar15 < 6) {\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }" (if "if") (parenthesized_expression "(*pbVar15 < 6)" (( "(") (binary_expression "*pbVar15 < 6" (pointer_expression "*pbVar15" (* "*") (identifier "pbVar15")) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n                    \n                    \n                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();\n                        return uVar5;\n                      }" ({ "{") (expression_statement "uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))();" (assignment_expression "uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))()" (identifier "uVar5") (= "=") (call_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))()" (parenthesized_expression "(*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1))" (( "(") (pointer_expression "*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" (* "*") (cast_expression "(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1)" (( "(") (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI + 0x6d6e1" (binary_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +\n                                          unaff_EDI" (pointer_expression "*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" (* "*") (cast_expression "(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4)" (( "(") (binary_expression "unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4" (binary_expression "unaff_EDI + 0x146f1" (identifier "unaff_EDI") (+ "+") (number_literal "0x146f1")) (+ "+") (binary_expression "(uint)*pbVar15 * 4" (binary_expression "(uint)*pbVar15" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (identifier "pbVar15")) (* "*") (number_literal "4"))) () ")")))) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x6d6e1")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}"))) (expression_statement "uVar9 = (uint)pbVar15[1];" (assignment_expression "uVar9 = (uint)pbVar15[1]" (identifier "uVar9") (= "=") (cast_expression "(uint)pbVar15[1]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if ((char)pbVar15[1] < '\0') {\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }\n                      else {\n                        uVar14 = 1;\n                      }" (if "if") (parenthesized_expression "((char)pbVar15[1] < '\0')" (( "(") (binary_expression "(char)pbVar15[1] < '\0'" (cast_expression "(char)pbVar15[1]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "pbVar15[1]" (identifier "pbVar15") ([ "[") (number_literal "1") (] "]"))) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        bVar1 = pbVar15[2];\n                        if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }\n                      }" ({ "{") (expression_statement "bVar1 = pbVar15[2];" (assignment_expression "bVar1 = pbVar15[2]" (identifier "bVar1") (= "=") (subscript_expression "pbVar15[2]" (identifier "pbVar15") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if ((char)bVar1 < '\0') {\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }\n                        else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" (if "if") (parenthesized_expression "((char)bVar1 < '\0')" (( "(") (binary_expression "(char)bVar1 < '\0'" (cast_expression "(char)bVar1" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar1")) (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                          if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }\n                        }" ({ "{") (if_statement "if ((pbVar15[3] & 0x80) == 0) {\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }\n                          else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" (if "if") (parenthesized_expression "((pbVar15[3] & 0x80) == 0)" (( "(") (binary_expression "(pbVar15[3] & 0x80) == 0" (parenthesized_expression "(pbVar15[3] & 0x80)" (( "(") (binary_expression "pbVar15[3] & 0x80" (subscript_expression "pbVar15[3]" (identifier "pbVar15") ([ "[") (number_literal "3") (] "]")) (& "&") (number_literal "0x80")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                            uVar14 = 3;\n                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;\n                          }" ({ "{") (expression_statement "uVar14 = 3;" (assignment_expression "uVar14 = 3" (identifier "uVar14") (= "=") (number_literal "3")) (; ";")) (expression_statement "uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7;" (assignment_expression "uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7" (identifier "uVar9") (= "=") (binary_expression "(uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |\n                                    (bVar1 & 0x7f) << 7" (binary_expression "(uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f" (parenthesized_expression "(uVar9 << 0xe | (uint)pbVar15[3])" (( "(") (binary_expression "uVar9 << 0xe | (uint)pbVar15[3]" (binary_expression "uVar9 << 0xe" (identifier "uVar9") (<< "<<") (number_literal "0xe")) (| "|") (cast_expression "(uint)pbVar15[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar15[3]" (identifier "pbVar15") ([ "[") (number_literal "3") (] "]")))) () ")")) (& "&") (number_literal "0x1fc07f")) (| "|") (binary_expression "(bVar1 & 0x7f) << 7" (parenthesized_expression "(bVar1 & 0x7f)" (( "(") (binary_expression "bVar1 & 0x7f" (identifier "bVar1") (& "&") (number_literal "0x7f")) () ")")) (<< "<<") (number_literal "7")))) (; ";")) (} "}")) (else_clause "else {\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" (else "else") (compound_statement "{\n                            uVar14 = FUN_0003b460();\n                            uVar9 = 0xffffffff;\n                            if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }\n                            uVar14 = uVar14 & 0xff;\n                          }" ({ "{") (expression_statement "uVar14 = FUN_0003b460();" (assignment_expression "uVar14 = FUN_0003b460()" (identifier "uVar14") (= "=") (call_expression "FUN_0003b460()" (identifier "FUN_0003b460") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = 0xffffffff;" (assignment_expression "uVar9 = 0xffffffff" (identifier "uVar9") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (local_28 == 0) {\n                              uVar9 = local_2c;\n                            }" (if "if") (parenthesized_expression "(local_28 == 0)" (( "(") (binary_expression "local_28 == 0" (identifier "local_28") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                              uVar9 = local_2c;\n                            }" ({ "{") (expression_statement "uVar9 = local_2c;" (assignment_expression "uVar9 = local_2c" (identifier "uVar9") (= "=") (identifier "local_2c")) (; ";")) (} "}"))) (expression_statement "uVar14 = uVar14 & 0xff;" (assignment_expression "uVar14 = uVar14 & 0xff" (identifier "uVar14") (= "=") (binary_expression "uVar14 & 0xff" (identifier "uVar14") (& "&") (number_literal "0xff"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" (else "else") (compound_statement "{\n                          uVar14 = 2;\n                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;\n                        }" ({ "{") (expression_statement "uVar14 = 2;" (assignment_expression "uVar14 = 2" (identifier "uVar14") (= "=") (number_literal "2")) (; ";")) (expression_statement "uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;" (assignment_expression "uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1" (identifier "uVar9") (= "=") (binary_expression "(uVar9 & 0x7f) << 7 | (uint)bVar1" (binary_expression "(uVar9 & 0x7f) << 7" (parenthesized_expression "(uVar9 & 0x7f)" (( "(") (binary_expression "uVar9 & 0x7f" (identifier "uVar9") (& "&") (number_literal "0x7f")) () ")")) (<< "<<") (number_literal "7")) (| "|") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n                        uVar14 = 1;\n                      }" (else "else") (compound_statement "{\n                        uVar14 = 1;\n                      }" ({ "{") (expression_statement "uVar14 = 1;" (assignment_expression "uVar14 = 1" (identifier "uVar14") (= "=") (number_literal "1")) (; ";")) (} "}")))) (expression_statement "bVar21 = true;" (assignment_expression "bVar21 = true" (identifier "bVar21") (= "=") (true "true")) (; ";")) (expression_statement "local_dc = 0;" (assignment_expression "local_dc = 0" (identifier "local_dc") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar20[iVar6] != '\0') {\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }" (if "if") (parenthesized_expression "(pcVar20[iVar6] != '\0')" (( "(") (binary_expression "pcVar20[iVar6] != '\0'" (subscript_expression "pcVar20[iVar6]" (identifier "pcVar20") ([ "[") (identifier "iVar6") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                        local_dc = FUN_00079820();\n                        bVar21 = false;\n                        if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }\n                      }" ({ "{") (expression_statement "local_dc = FUN_00079820();" (assignment_expression "local_dc = FUN_00079820()" (identifier "local_dc") (= "=") (call_expression "FUN_00079820()" (identifier "FUN_00079820") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "bVar21 = false;" (assignment_expression "bVar21 = false" (identifier "bVar21") (= "=") (false "false")) (; ";")) (if_statement "if (local_dc == 0) {\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }" (if "if") (parenthesized_expression "(local_dc == 0)" (( "(") (binary_expression "local_dc == 0" (identifier "local_dc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                          local_dc = FUN_00071970(uVar9,0xffffffff,0);\n                          bVar21 = local_dc == 0;\n                        }" ({ "{") (expression_statement "local_dc = FUN_00071970(uVar9,0xffffffff,0);" (assignment_expression "local_dc = FUN_00071970(uVar9,0xffffffff,0)" (identifier "local_dc") (= "=") (call_expression "FUN_00071970(uVar9,0xffffffff,0)" (identifier "FUN_00071970") (argument_list "(uVar9,0xffffffff,0)" (( "(") (identifier "uVar9") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "bVar21 = local_dc == 0;" (assignment_expression "bVar21 = local_dc == 0" (identifier "bVar21") (= "=") (binary_expression "local_dc == 0" (identifier "local_dc") (== "==") (number_literal "0"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pbVar15 = pbVar15 + uVar9 + uVar14 + 1;" (assignment_expression "pbVar15 = pbVar15 + uVar9 + uVar14 + 1" (identifier "pbVar15") (= "=") (binary_expression "pbVar15 + uVar9 + uVar14 + 1" (binary_expression "pbVar15 + uVar9 + uVar14" (binary_expression "pbVar15 + uVar9" (identifier "pbVar15") (+ "+") (identifier "uVar9")) (+ "+") (identifier "uVar14")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = iVar16;" (assignment_expression "iVar6 = iVar16" (identifier "iVar6") (= "=") (identifier "iVar16")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((bool)(iVar16 < (int)sVar11 & bVar21))" (( "(") (cast_expression "(bool)(iVar16 < (int)sVar11 & bVar21)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(iVar16 < (int)sVar11 & bVar21)" (( "(") (binary_expression "iVar16 < (int)sVar11 & bVar21" (binary_expression "iVar16 < (int)sVar11" (identifier "iVar16") (< "<") (cast_expression "(int)sVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "sVar11"))) (& "&") (identifier "bVar21")) () ")"))) () ")")) (; ";")) (expression_statement "local_5c = local_dc;" (assignment_expression "local_5c = local_dc" (identifier "local_5c") (= "=") (identifier "local_dc")) (; ";")) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (if_statement "if (local_dc == 0) goto LAB_0014ddea;" (if "if") (parenthesized_expression "(local_dc == 0)" (( "(") (binary_expression "local_dc == 0" (identifier "local_dc") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014ddea;" (goto "goto") (statement_identifier "LAB_0014ddea") (; ";"))) (} "}")))) (expression_statement "local_b4 = (int *)local_b4[4];" (assignment_expression "local_b4 = (int *)local_b4[4]" (identifier "local_b4") (= "=") (cast_expression "(int *)local_b4[4]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_b4[4]" (identifier "local_b4") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((local_b4 != (int *)0x0) && (bVar21))" (( "(") (binary_expression "(local_b4 != (int *)0x0) && (bVar21)" (parenthesized_expression "(local_b4 != (int *)0x0)" (( "(") (binary_expression "local_b4 != (int *)0x0" (identifier "local_b4") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(bVar21)" (( "(") (identifier "bVar21") () ")"))) () ")")) (; ";")) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" (identifier "local_88") (= "=") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar6 = local_c0[7];" (assignment_expression "iVar6 = local_c0[7]" (identifier "iVar6") (= "=") (subscript_expression "local_c0[7]" (identifier "local_c0") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;" (if "if") (parenthesized_expression "((iVar6 <= local_88) || (local_5c != 0))" (( "(") (binary_expression "(iVar6 <= local_88) || (local_5c != 0)" (parenthesized_expression "(iVar6 <= local_88)" (( "(") (binary_expression "iVar6 <= local_88" (identifier "iVar6") (<= "<=") (identifier "local_88")) () ")")) (|| "||") (parenthesized_expression "(local_5c != 0)" (( "(") (binary_expression "local_5c != 0" (identifier "local_5c") (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_0014d9b9;" (goto "goto") (statement_identifier "LAB_0014d9b9") (; ";"))) (expression_statement "iVar16 = local_c0[8];" (assignment_expression "iVar16 = local_c0[8]" (identifier "iVar16") (= "=") (subscript_expression "local_c0[8]" (identifier "local_c0") ([ "[") (number_literal "8") (] "]"))) (; ";")) (} "}"))) (expression_statement "local_88 = local_88 + 1;" (assignment_expression "local_88 = local_88 + 1" (identifier "local_88") (= "=") (binary_expression "local_88 + 1" (identifier "local_88") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_88 < iVar6)" (( "(") (binary_expression "local_88 < iVar6" (identifier "local_88") (< "<") (identifier "iVar6")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" (else "else") (compound_statement "{\n          local_74 = local_34;\n          piVar4 = local_4c;\n        }" ({ "{") (expression_statement "local_74 = local_34;" (assignment_expression "local_74 = local_34" (identifier "local_74") (= "=") (identifier "local_34")) (; ";")) (expression_statement "piVar4 = local_4c;" (assignment_expression "piVar4 = local_4c" (identifier "piVar4") (= "=") (identifier "local_4c")) (; ";")) (} "}")))) (labeled_statement "LAB_0014d9b9:\n        FUN_000c0450(piVar4);" (statement_identifier "LAB_0014d9b9") (: ":") (expression_statement "FUN_000c0450(piVar4);" (call_expression "FUN_000c0450(piVar4)" (identifier "FUN_000c0450") (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")"))) (; ";"))) (if_statement "if (local_34 == local_74) {\n          local_34 = uVar5;\n        }" (if "if") (parenthesized_expression "(local_34 == local_74)" (( "(") (binary_expression "local_34 == local_74" (identifier "local_34") (== "==") (identifier "local_74")) () ")")) (compound_statement "{\n          local_34 = uVar5;\n        }" ({ "{") (expression_statement "local_34 = uVar5;" (assignment_expression "local_34 = uVar5" (identifier "local_34") (= "=") (identifier "uVar5")) (; ";")) (} "}"))) (expression_statement "FUN_00044000(local_50);" (call_expression "FUN_00044000(local_50)" (identifier "FUN_00044000") (argument_list "(local_50)" (( "(") (identifier "local_50") () ")"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (local_5c == 0) goto LAB_0014da0a;" (if "if") (parenthesized_expression "(local_5c == 0)" (( "(") (binary_expression "local_5c == 0" (identifier "local_5c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0014da0a;" (goto "goto") (statement_identifier "LAB_0014da0a") (; ";"))) (} "}")))) (expression_statement "FUN_00044000(local_38);" (call_expression "FUN_00044000(local_38)" (identifier "FUN_00044000") (argument_list "(local_38)" (( "(") (identifier "local_38") () ")"))) (; ";")) (expression_statement "FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);" (call_expression "FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0)" (identifier "FUN_000e9460") (argument_list "(iVar2,unaff_EDI + 0x115b3,0,0,0)" (( "(") (identifier "iVar2") (, ",") (binary_expression "unaff_EDI + 0x115b3" (identifier "unaff_EDI") (+ "+") (number_literal "0x115b3")) (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar5 = local_5c;" (assignment_expression "uVar5 = local_5c" (identifier "uVar5") (= "=") (identifier "local_5c")) (; ";")) (if_statement "if (*(int *)(iVar2 + 0xc) != 0) {\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xc) != 0" (pointer_expression "*(int *)(iVar2 + 0xc)" (* "*") (cast_expression "(int *)(iVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));\n    uVar5 = local_5c;\n  }" ({ "{") (expression_statement "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));" (call_expression "(**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc))" (parenthesized_expression "(**(code **)(unaff_EDI + 0x6dcfd))" (( "(") (pointer_expression "**(code **)(unaff_EDI + 0x6dcfd)" (* "*") (pointer_expression "*(code **)(unaff_EDI + 0x6dcfd)" (* "*") (cast_expression "(code **)(unaff_EDI + 0x6dcfd)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EDI + 0x6dcfd)" (( "(") (binary_expression "unaff_EDI + 0x6dcfd" (identifier "unaff_EDI") (+ "+") (number_literal "0x6dcfd")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar2 + 0xc))" (( "(") (pointer_expression "*(int *)(iVar2 + 0xc)" (* "*") (cast_expression "(int *)(iVar2 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xc)" (( "(") (binary_expression "iVar2 + 0xc" (identifier "iVar2") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar5 = local_5c;" (assignment_expression "uVar5 = local_5c" (identifier "uVar5") (= "=") (identifier "local_5c")) (; ";")) (} "}"))) (labeled_statement "LAB_0014d7d0:\n  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }" (statement_identifier "LAB_0014d7d0") (: ":") (if_statement "if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n    FUN_00153870();\n  }" (if "if") (parenthesized_expression "(local_20 != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 != *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n    FUN_00153870();\n  }" ({ "{") (expression_statement "FUN_00153870();" (call_expression "FUN_00153870()" (identifier "FUN_00153870") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (} "}")))

int function_1
              (type_1 *pSession,int bPatchset,type_2 *xOutput,
              void *pOut,int *pnChangeset,void **ppChangeset)

{
  type_3 var_66;
  type_4 *db;
  size_t var_65;
  type_5 var_47;
  type_6 *pVVar3;
  type_7 var_34;
  type_7 var_32;
  type_8 *var_6;
  int iVar7;
  int var_44;
  type_3 *var_64;
  int var_12;
  type_9 *var_27;
  type_4 *psVar12;
  char **ppcVar13;
  type_10 *pMVar14;
  int var_41;
  type_11 *var_3;
  type_9 *var_31;
  type_3 enc;
  char *zSql;
  type_5 var_22;
  char var_55;
  type_5 var_23;
  type_7 *var_69;
  type_3 *var_48;
  int var_19;
  char **p;
  int var_4;
  type_5 var_29;
  type_3 *var_43;
  int var_2;
  bool var_73;
  type_12 uVar26;
  type_13 var_57;
  double var_59;
  void *var_53;
  char **pRc;
  type_14 *pTab;
  type_3 **pabPK;
  int var_15;
  type_9 *var_30;
  type_3 *in_stack_ffffff28;
  type_9 **in_stack_ffffff2c;
  type_5 var_60;
  char **local_c4;
  int *var_8;
  int *var_17;
  int var_61;
  int var_16;
  int var_68;
  int var_49;
  int var_7;
  int var_10;
  type_3 *abPK;
  char **azCol;
  type_9 *pSel;
  int var_28;
  int var_35;
  char **local_40;
  type_15 buf;
  int var_54;
  type_5 var_52;
  type_5 var_51;
  int var_75;
  
  uVar26 = var_1();
  var_44 = (int)((type_16)uVar26 >> 0x20);
  var_6 = (type_8 *)uVar26;
  db = (type_4 *)*var_6;
  var_75 = *(int *)(var_2 + 0x14);
  buf.aBuf = (type_3 *)0x0;
  buf.nBuf = 0;
  buf.nAlloc = 0;
  if (var_3 == (type_11 *)0x0) {
    *(type_8 *)bPatchset = 0;
    *(type_8 *)xOutput = 0;
  }
  iVar7 = var_6[5];
  if ((var_6[5] != 0) ||
     (psVar12 = (type_4 *)((int)&__DT_REL[0x77].r_offset + var_4 + 3),
     var_7 = var_5(psVar12,(char *)xOutput,(type_24)*var_6,psVar12,(char **)0x0),
     iVar7 = var_7, var_7 != 0)) goto LAB_0014d7d0;
  if (db->mutex == (type_17 *)0x0) {
    var_8 = (int *)var_6[10];
    if (var_8 != (int *)0x0) goto LAB_0014d84d;
LAB_0014da0a:
    var_48 = buf.aBuf;
    if (var_3 == (type_11 *)0x0) {
      buf.aBuf = (type_3 *)0x0;
      *(int *)bPatchset = buf.nBuf;
      *(type_3 **)xOutput = var_48;
    }
    else if (0 < buf.nBuf) {
      var_7 = (*var_3)(pSession,buf.aBuf,buf.nBuf);
    }
  }
  else {
    (**(type_11 **)(var_4 + 0x6dcf5))(db->mutex);
    var_8 = (int *)var_6[10];
    if ((var_7 == 0) && (var_8 != (int *)0x0)) {
LAB_0014d84d:
      do {
        iVar7 = buf.nBuf;
        if (var_8[6] != 0) {
          azCol = (char **)0x0;
          pSel = (type_9 *)0x0;
          pabPK = &abPK;
          pTab = (type_14 *)&azCol;
          var_53 = (void *)0x0;
          var_7 = var_9(db,(char *)var_6[1],(char *)var_8[1],&var_10,(char **)0x0,
                                (char ***)pTab,pabPK);
          if (var_7 == 0) {
            if (var_8[2] == var_10) {
              var_53 = (void *)var_8[5];
              pTab = (type_14 *)var_10;
              var_12 = var_11(abPK,var_53,var_10);
              if (var_12 == 0) goto LAB_0014d967;
            }
            var_7 = 0x11;
          }
LAB_0014d967:
          var_13((type_15 *)&var_7,(int)var_53,pTab,(int *)pabPK);
          if (var_7 == 0) {
            pRc = azCol;
            var_7 = var_14((type_4 *)var_10,(char *)azCol,(char *)abPK,(int)&pSel,
                                   (char **)var_30,in_stack_ffffff28,in_stack_ffffff2c);
            var_68 = buf.nBuf;
            var_12 = var_8[7];
            pVVar3 = (type_6 *)pSel;
            if ((0 < var_12) && (var_7 == 0)) {
              var_16 = 0;
              var_15 = var_8[8];
              do {
                while (var_17 = *(int **)(var_15 + var_16 * 4), var_17 != (int *)0x0) {
                  do {
                    var_48 = abPK;
                    var_12 = var_10;
                    var_69 = (type_7 *)var_17[3];
                    if (var_10 < 1) {
                      var_7 = 0;
LAB_0014ddea:
                      var_19 = var_18((type_9 *)pVVar3);
                      var_15 = buf.nBuf;
                      var_64 = buf.aBuf;
                      var_31 = pSel;
                      var_43 = abPK;
                      var_12 = var_10;
                      var_48 = (type_3 *)(buf.nBuf >> 0x1f);
                      if (var_19 == 100) {
                        if (*var_17 == 0x12) {
                          var_20(&buf,'\x12',&var_7);
                          var_19 = 0;
                          var_20(&buf,(type_3)var_17[1],&var_7);
                          var_12 = var_7;
                          var_15 = var_10;
                          if (0 < var_10) {
                            do {
                              while (var_12 != 0) {
                                var_19 = var_19 + 1;
                                pVVar3 = (type_6 *)pSel;
                                if (var_15 <= var_19) goto LAB_0014d9b9;
                              }
                              var_19 = var_19 + 1;
                              var_21(&buf,pSel,(int)&var_7,(int *)pRc);
                              var_12 = var_7;
                              var_15 = var_10;
                            } while (var_19 < var_10);
                          }
                        }
                        else {
                          var_28 = 0;
                          local_c4 = (char **)var_17[3];
                          var_54 = 0;
                          var_52 = 0;
                          var_51 = 0;
                          if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {
                            var_23 = buf.nAlloc;
                            if (buf.nAlloc == 0) {
                              var_23 = 0x80;
                            }
                            var_22 = (int)var_23 >> 0x1f;
                            do {
                              var_22 = var_22 << 1 | var_23 >> 0x1f;
                              var_23 = var_23 * 2;
                            } while ((int)(type_5)(var_23 - buf.nBuf != 0) <=
                                     (int)-((var_22 - (int)var_48) -
                                           (type_5)(var_23 < (type_5)buf.nBuf)));
                            var_30 = pSel;
                            var_12 = var_24();
                            if ((var_12 == 0) &&
                               (var_27 = (type_9 *)
                                          var_25(var_64,var_26(in_stack_ffffff28,
                                                                         var_30)),
                               var_27 != (type_9 *)0x0)) {
                              buf.aBuf = (type_3 *)var_27;
                              buf.nAlloc = var_23;
                              if (var_28 == 0) goto LAB_0014df46;
                            }
                            else {
LAB_0014ed09:
                              var_28 = 7;
                            }
                          }
                          else {
LAB_0014df46:
                            var_23 = buf.nBuf + 1;
                            buf.aBuf[buf.nBuf] = '\x17';
                            var_12 = var_17[1];
                            buf.nBuf = var_23;
                            if (var_28 == 0) {
                              if (buf.nAlloc == var_23 || (int)(buf.nAlloc - var_23) < 0) {
                                var_22 = buf.nAlloc;
                                if (buf.nAlloc == 0) {
                                  var_22 = 0x80;
                                }
                                var_29 = (int)var_22 >> 0x1f;
                                do {
                                  var_29 = var_29 << 1 | var_22 >> 0x1f;
                                  var_22 = var_22 * 2;
                                } while ((int)(type_5)(var_22 - var_23 != 0) <=
                                         (int)-((var_29 - ((int)var_23 >> 0x1f)) -
                                               (type_5)(var_22 < var_23)));
                                var_30 = (type_9 *)buf.aBuf;
                                var_19 = var_24();
                                if ((var_19 != 0) ||
                                   (var_30 =
                                         (type_9 *)
                                         var_25(var_30,
                                                        var_26(in_stack_ffffff28,var_30
                                                                )),
                                   var_30 == (type_9 *)0x0)) goto LAB_0014ed09;
                                buf.aBuf = (type_3 *)var_30;
                                buf.nAlloc = var_22;
                                if (var_28 != 0) goto joined_r0x0014e470;
                              }
                              var_60._0_1_ = (type_3)var_12;
                              buf.aBuf[buf.nBuf] = (type_3)var_60;
                              var_30 = (type_9 *)buf.aBuf;
                              buf.nBuf = buf.nBuf + 1;
                            }
                          }
joined_r0x0014e470:
                          if ((var_31 != (type_9 *)0x0) && (*(short *)(var_31 + 0x88) != 0))
                          {
                            var_30 = (type_9 *)0x0;
                            var_61 = 1;
                            do {
                              var_32 = *(type_7 *)local_c4;
                              if (var_32 == 0) {
LAB_0014e690:
                                if ((char)*(type_7 *)((int)local_c4 + 1) < '\0') {
                                  var_34 = var_33((type_7 *)((int)local_c4 + 1),
                                                             (type_18 *)&var_35);
                                  var_12 = var_34 + 1;
                                }
                                else {
                                  var_12 = 2;
                                  var_35 = (type_5)*(type_7 *)((int)local_c4 + 1);
                                }
                                var_60 = var_35 + var_12;
                                psVar12 = *(type_4 **)var_31;
                                if (psVar12->mutex != (type_17 *)0x0) {
                                  (**(type_11 **)(var_4 + 0x6dcf5))(psVar12->mutex);
                                  psVar12 = *(type_4 **)var_31;
                                }
                                var_19 = *(int *)(var_31 + 0x74);
                                if ((var_19 == 0) ||
                                   ((int)(type_5)*(type_19 *)(var_31 + 0x88) <= (int)var_30
                                   )) {
                                  psVar12->errCode = 0x19;
                                  var_34 = 5;
                                  var_36(psVar12,var_19);
                                  psVar12 = *(type_4 **)var_31;
                                }
                                else {
                                  var_34 = *(type_7 *)(var_4 + 0x16599 +
                                                   (*(type_19 *)
                                                     (var_19 + 8 + (int)var_30 * 0x28) &
                                                   0x1f));
                                }
                                if ((psVar12->mallocFailed == '\0') &&
                                   (*(type_5 *)(var_31 + 0x28) != 0xc0a)) {
                                  var_23 = *(type_5 *)(var_31 + 0x28) & psVar12->errMask;
                                }
                                else {
                                  var_23 = var_37(psVar12);
                                  psVar12 = *(type_4 **)var_31;
                                }
                                *(type_5 *)(var_31 + 0x28) = var_23;
                                if (psVar12->mutex != (type_17 *)0x0) {
                                  (**(type_11 **)(var_4 + 0x6dcfd))(psVar12->mutex);
                                }
                                var_23 = var_60;
                                if (var_32 == var_34) {
                                  pMVar14 = var_38(var_30,(int)in_stack_ffffff28);
                                  var_41 = var_39(pMVar14,enc);
                                  var_40(var_31);
                                  var_19 = var_35;
                                  if (var_35 != var_41) goto LAB_0014e743;
                                  if (var_35 != 0) {
                                    pMVar14 = var_38(var_30,(int)in_stack_ffffff28);
                                    pRc = (char **)var_42(pMVar14);
                                    var_40(var_31);
                                    var_12 = var_11((type_7 *)(var_12 + (int)local_c4),pRc,var_19);
                                    if (var_12 != 0) goto LAB_0014e743;
                                  }
                                  var_48 = var_43 + (int)var_30;
                                  if (var_44 != 0) goto LAB_0014e9cb;
                                  if (var_43[(int)var_30] == '\0') {
LAB_0014e8c6:
                                    var_12 = var_45(&buf,1,&var_28);
                                    if (var_12 == 0) {
                                      buf.aBuf[buf.nBuf] = '\0';
                                      buf.nBuf = buf.nBuf + 1;
                                    }
                                  }
                                  else if ((0 < (int)var_60) && (var_49 = var_28, var_28 == 0))
                                  goto LAB_0014eaca;
                                }
                                else {
LAB_0014e743:
                                  if ((var_44 != 0) || ((int)var_60 < 1)) {
                                    var_61 = 0;
                                    goto LAB_0014e560;
                                  }
                                  var_61 = var_28;
                                  if (var_28 != 0) {
                                    var_61 = 0;
                                    goto LAB_0014e590;
                                  }
                                  var_49 = 1;
LAB_0014eaca:
                                  var_48 = buf.aBuf;
                                  if (buf.nAlloc - buf.nBuf < (int)var_23) {
                                    var_22 = buf.nAlloc;
                                    if (buf.nAlloc == 0) {
                                      var_22 = 0x80;
                                    }
                                    var_29 = (int)var_22 >> 0x1f;
                                    do {
                                      var_29 = var_29 << 1 | var_22 >> 0x1f;
                                      var_22 = var_22 * 2;
                                      var_19 = (var_29 - (buf.nBuf >> 0x1f)) -
                                               (type_5)(var_22 < (type_5)buf.nBuf);
                                      var_47 = (type_5)(var_22 - buf.nBuf < var_23);
                                      var_12 = var_19 - ((int)var_23 >> 0x1f);
                                    } while ((var_46(var_19,(int)var_23 >> 0x1f) !=
                                             var_46(var_12,var_47)) != (int)(var_12 - var_47) < 0);
                                    var_12 = var_24();
                                    if ((var_12 == 0) &&
                                       (var_48 = (type_3 *)var_25(var_48,var_26(
                                                  in_stack_ffffff28,var_30)),
                                       var_48 != (type_3 *)0x0)) {
                                      buf.aBuf = var_48;
                                      buf.nAlloc = var_22;
                                      if (var_28 == 0) goto LAB_0014eb76;
                                    }
                                    else {
                                      var_28 = 7;
                                    }
                                    if (var_49 != 0) goto LAB_0014e590;
                                  }
                                  else {
LAB_0014eb76:
                                    pRc = local_c4;
                                    var_50(buf.aBuf + buf.nBuf,local_c4,var_60);
                                    buf.nBuf = buf.nBuf + var_23;
                                    if (var_49 != 0) goto LAB_0014e560;
                                  }
                                }
LAB_0014e900:
                                var_12 = var_54;
                                if (var_28 == 0) {
                                  if (var_51 == var_52 || (int)(var_51 - var_52) < 0) {
                                    var_23 = var_51;
                                    if (var_51 == 0) {
                                      var_23 = 0x80;
                                    }
                                    var_22 = (int)var_23 >> 0x1f;
                                    do {
                                      var_22 = var_22 << 1 | var_23 >> 0x1f;
                                      var_23 = var_23 * 2;
                                    } while ((int)(type_5)(var_23 - var_52 != 0) <=
                                             (int)-((var_22 - ((int)var_52 >> 0x1f)) -
                                                   (type_5)(var_23 < var_52)));
                                    var_19 = var_24();
                                    if ((var_19 == 0) &&
                                       (var_53 = var_25((void *)var_12,
                                                                 var_26(in_stack_ffffff28,
                                                                          var_30)),
                                       var_53 != (void *)0x0)) {
                                      var_54 = (int)var_53;
                                      var_51 = var_23;
                                      if (var_28 == 0) goto LAB_0014e9b4;
                                    }
                                    else {
                                      var_28 = 7;
                                    }
                                  }
                                  else {
LAB_0014e9b4:
                                    *(type_20 *)(var_54 + var_52) = 0;
                                    var_52 = var_52 + 1;
                                  }
                                }
                              }
                              else {
                                if (2 < var_32) {
                                  if (var_32 != 5) goto LAB_0014e690;
                                  psVar12 = *(type_4 **)var_31;
                                  if (psVar12->mutex != (type_17 *)0x0) {
                                    (**(type_11 **)(var_4 + 0x6dcf5))(psVar12->mutex);
                                    psVar12 = *(type_4 **)var_31;
                                  }
                                  var_12 = *(int *)(var_31 + 0x74);
                                  if ((var_12 == 0) ||
                                     ((int)(type_5)*(type_19 *)(var_31 + 0x88) <=
                                      (int)var_30)) {
                                    psVar12->errCode = 0x19;
                                    var_36(psVar12,var_12);
                                    psVar12 = *(type_4 **)var_31;
                                    var_55 = '\x05';
                                  }
                                  else {
                                    var_55 = *(char *)(var_4 + 0x16599 +
                                                      (*(type_19 *)
                                                        (var_12 + 8 + (int)var_30 * 0x28)
                                                      & 0x1f));
                                  }
                                  if ((psVar12->mallocFailed == '\0') &&
                                     (*(type_5 *)(var_31 + 0x28) != 0xc0a)) {
                                    var_23 = *(type_5 *)(var_31 + 0x28) & psVar12->errMask;
                                  }
                                  else {
                                    var_23 = var_37(psVar12);
                                    psVar12 = *(type_4 **)var_31;
                                  }
                                  *(type_5 *)(var_31 + 0x28) = var_23;
                                  if (psVar12->mutex != (type_17 *)0x0) {
                                    (**(type_11 **)(var_4 + 0x6dcfd))(psVar12->mutex);
                                  }
                                  if (var_55 == '\x05') {
                                    var_60 = 1;
                                    var_48 = var_43 + (int)var_30;
                                    if (var_44 == 0) {
                                      var_23 = 1;
                                      goto LAB_0014e8bd;
                                    }
LAB_0014e9cb:
                                    if (*var_48 == '\0') goto LAB_0014e900;
                                    goto LAB_0014e560;
                                  }
                                  if (var_44 != 0) {
                                    var_61 = 0;
                                    var_60 = 1;
                                    goto LAB_0014e560;
                                  }
                                  var_61 = var_28;
                                  if (var_28 != 0) {
                                    var_61 = 0;
                                    var_60 = 1;
                                    goto LAB_0014e590;
                                  }
                                  var_60 = 1;
                                  var_49 = 1;
                                  var_23 = 1;
                                  goto LAB_0014eaca;
                                }
                                psVar12 = *(type_4 **)var_31;
                                if (psVar12->mutex != (type_17 *)0x0) {
                                  (**(type_11 **)(var_4 + 0x6dcf5))(psVar12->mutex);
                                  psVar12 = *(type_4 **)var_31;
                                }
                                var_12 = *(int *)(var_31 + 0x74);
                                if ((var_12 == 0) ||
                                   ((int)(type_5)*(type_19 *)(var_31 + 0x88) <= (int)var_30
                                   )) {
                                  psVar12->errCode = 0x19;
                                  var_34 = 5;
                                  var_36(psVar12,var_12);
                                  psVar12 = *(type_4 **)var_31;
                                }
                                else {
                                  var_34 = *(type_7 *)(var_4 + 0x16599 +
                                                   (*(type_19 *)
                                                     (var_12 + 8 + (int)var_30 * 0x28) &
                                                   0x1f));
                                }
                                if ((psVar12->mallocFailed == '\0') &&
                                   (*(type_5 *)(var_31 + 0x28) != 0xc0a)) {
                                  var_23 = psVar12->errMask & *(type_5 *)(var_31 + 0x28);
                                }
                                else {
                                  var_23 = var_37(psVar12);
                                  psVar12 = *(type_4 **)var_31;
                                }
                                *(type_5 *)(var_31 + 0x28) = var_23;
                                if (psVar12->mutex != (type_17 *)0x0) {
                                  (**(type_11 **)(var_4 + 0x6dcfd))(psVar12->mutex);
                                }
                                if (var_32 == var_34) {
                                  var_23 = *(type_5 *)((int)local_c4 + 1);
                                  var_22 = *(type_5 *)((int)local_c4 + 5);
                                  ppcVar13 = (char **)(var_23 >> 0x18 | (var_23 & 0xff0000) >> 8 |
                                                       (var_23 & 0xff00) << 8 | var_23 << 0x18);
                                  var_23 = var_22 >> 0x18 | (var_22 & 0xff0000) >> 8 |
                                           (var_22 & 0xff00) << 8 | var_22 << 0x18;
                                  if (var_32 == 1) {
                                    pMVar14 = var_38(var_30,(int)in_stack_ffffff28);
                                    var_57 = var_56(pMVar14);
                                    var_40(var_31);
                                    if (var_57 == var_26(ppcVar13,var_23)) goto LAB_0014e89a;
                                    goto LAB_0014e65d;
                                  }
                                  var_35 = var_23;
                                  local_40 = ppcVar13;
                                  pMVar14 = var_38(var_30,(int)in_stack_ffffff28);
                                  var_59 = var_58(pMVar14);
                                  var_40(var_31);
                                  if (var_59 != (double)var_26(ppcVar13,var_23))
                                  goto LAB_0014e65d;
LAB_0014e89a:
                                  var_60 = 9;
                                  var_48 = var_43 + (int)var_30;
                                  if (var_44 != 0) goto LAB_0014e9cb;
                                  var_23 = 9;
LAB_0014e8bd:
                                  if (*var_48 == '\0') goto LAB_0014e8c6;
                                  var_49 = var_28;
                                  if (var_28 == 0) goto LAB_0014eaca;
                                }
                                else {
LAB_0014e65d:
                                  if (var_44 == 0) {
                                    var_61 = var_28;
                                    if (var_28 == 0) {
                                      var_60 = 9;
                                      var_49 = 1;
                                      var_23 = 9;
                                      goto LAB_0014eaca;
                                    }
                                    var_61 = 0;
                                    var_60 = 9;
                                    goto LAB_0014e590;
                                  }
                                  var_61 = 0;
                                  var_60 = 9;
LAB_0014e560:
                                  if (var_28 == 0) {
                                    var_21((type_15 *)&var_54,var_31,(int)&var_28,
                                                     (int *)pRc);
                                  }
                                }
                              }
LAB_0014e590:
                              var_30 = var_30 + 1;
                              local_c4 = (char **)((int)local_c4 + var_60);
                            } while ((int)var_30 < (int)(type_5)*(type_19 *)(var_31 + 0x88)
                                    );
                            if (var_61 == 0) {
                              var_62(&buf,(type_3 *)var_54,var_52,&var_28);
                              var_15 = buf.nBuf;
                            }
                          }
                          buf.nBuf = var_15;
                          var_63((void *)var_54);
                          var_7 = var_28;
                        }
                      }
                      else if (*var_17 != 0x12) {
                        var_35 = 0;
                        if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {
                          var_23 = buf.nAlloc;
                          if (buf.nAlloc == 0) {
                            var_23 = 0x80;
                          }
                          var_22 = (int)var_23 >> 0x1f;
                          do {
                            var_22 = var_22 << 1 | var_23 >> 0x1f;
                            var_23 = var_23 * 2;
                          } while ((int)(type_5)(var_23 - buf.nBuf != 0) <=
                                   (int)-((var_22 - (int)var_48) - (type_5)(var_23 < (type_5)buf.nBuf))
                                  );
                          var_30 = (type_9 *)buf.nBuf;
                          var_15 = var_24();
                          if ((var_15 == 0) &&
                             (var_64 = (type_3 *)var_25(var_64,var_26(var_48,
                                                  var_30)), var_64 != (type_3 *)0x0)) {
                            var_15 = buf.nBuf;
                            in_stack_ffffff28 = var_48;
                            buf.aBuf = var_64;
                            buf.nAlloc = var_23;
                            if (var_35 == 0) goto LAB_0014e098;
                          }
                          else {
LAB_0014ecf9:
                            var_35 = 7;
                          }
                        }
                        else {
LAB_0014e098:
                          var_48 = in_stack_ffffff28;
                          var_64 = buf.aBuf;
                          buf.nBuf = var_15 + 1;
                          buf.aBuf[var_15] = '\t';
                          var_15 = var_17[1];
                          if (var_35 == 0) {
                            if (buf.nAlloc == buf.nBuf || buf.nAlloc - buf.nBuf < 0) {
                              var_31 = (type_9 *)buf.nAlloc;
                              if (buf.nAlloc == 0) {
                                var_31 = (type_9 *)0x80;
                              }
                              var_48 = (type_3 *)(buf.nBuf >> 0x1f);
                              var_23 = (int)var_31 >> 0x1f;
                              do {
                                var_23 = var_23 << 1 | (type_5)var_31 >> 0x1f;
                                var_31 = (type_9 *)((int)var_31 * 2);
                              } while ((int)(type_5)((int)var_31 - buf.nBuf != 0) <=
                                       (int)-((var_23 - (int)var_48) -
                                             (type_5)(var_31 < (type_5)buf.nBuf)));
                              var_30 = (type_9 *)buf.nBuf;
                              var_19 = var_24();
                              if ((var_19 != 0) ||
                                 (var_64 = (type_3 *)var_25(var_64,var_26(var_48,
                                                  var_30)), var_64 == (type_3 *)0x0))
                              goto LAB_0014ecf9;
                              buf.aBuf = var_64;
                              buf.nAlloc = (int)var_31;
                              if (var_35 != 0) goto LAB_0014e17a;
                            }
                            var_61._0_1_ = (type_3)var_15;
                            buf.aBuf[buf.nBuf] = (type_3)var_61;
                            buf.nBuf = (int)(buf.nBuf + 1);
                          }
                        }
LAB_0014e17a:
                        ppcVar13 = (char **)var_17[3];
                        if (var_44 == 0) {
                          var_65 = var_17[2];
                          if ((0 < (int)var_65) &&
                             (var_12 = var_45(&buf,var_65,&var_35), var_12 == 0)) {
                            var_50(buf.aBuf + buf.nBuf,ppcVar13,var_65);
                            buf.nBuf = buf.nBuf + var_65;
                            pRc = ppcVar13;
                          }
                        }
                        else if (0 < var_12) {
                          var_64 = var_43 + var_12;
                          do {
                            var_32 = *(type_7 *)ppcVar13;
                            p = (char **)((int)ppcVar13 + 1);
                            if (var_32 < 3) {
                              if (var_32 != 0) {
                                p = (char **)((int)ppcVar13 + 9);
                              }
LAB_0014e1b0:
                              var_66 = *var_43;
                            }
                            else {
                              if (var_32 == 5) goto LAB_0014e1b0;
                              var_22 = 1;
                              var_23 = (type_5)*(type_7 *)((int)ppcVar13 + 1);
                              if ((char)*(type_7 *)((int)ppcVar13 + 1) < '\0') {
                                var_32 = var_33((type_21 *)p,(type_18 *)&var_54);
                                var_22 = (type_5)var_32;
                                var_23 = var_54;
                              }
                              p = (char **)((int)p + var_23 + var_22);
                              var_66 = *var_43;
                            }
                            if (((var_66 != '\0') &&
                                (var_30 = (type_9 *)((int)p - (int)ppcVar13),
                                0 < (int)var_30)) &&
                               (var_12 = var_45(&buf,(int)var_30,&var_35),
                               var_12 == 0)) {
                              var_50(buf.aBuf + buf.nBuf,ppcVar13,(size_t)var_30);
                              buf.nBuf = (int)(var_30 + buf.nBuf);
                              pRc = ppcVar13;
                            }
                            var_43 = var_43 + 1;
                            ppcVar13 = p;
                          } while (var_43 != var_64);
                        }
                        var_7 = var_35;
                        in_stack_ffffff28 = var_48;
                      }
                      pVVar3 = (type_6 *)pSel;
                      if (var_7 != 0) goto LAB_0014d9b9;
                      var_7 = var_67(pSel);
                      if (var_3 == (type_11 *)0x0) {
                        var_73 = var_7 == 0;
                      }
                      else {
                        pVVar3 = (type_6 *)pSel;
                        if (var_7 != 0) goto LAB_0014d9b9;
                        if ((var_68 < buf.nBuf) &&
                           (*(int *)(&DAT_0006dc5d + var_4) < buf.nBuf)) {
                          pRc = (char **)buf.aBuf;
                          var_7 = (*var_3)(pSession,buf.aBuf,buf.nBuf);
                          buf.nBuf = 0;
                          var_73 = var_7 == 0;
                          var_68 = -1;
                        }
                        else {
                          var_73 = true;
                        }
                      }
                    }
                    else {
                      var_15 = 0;
                      do {
                        var_19 = var_15 + 1;
                        if (*var_69 < 6) {
                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                          var_44 = (*(type_11 *)(*(int *)(var_4 + 0x146f1 + (type_5)*var_69 * 4) +
                                            var_4 + 0x6d6e1))();
                          return var_44;
                        }
                        var_31 = (type_9 *)(type_5)var_69[1];
                        if ((char)var_69[1] < '\0') {
                          var_32 = var_69[2];
                          if ((char)var_32 < '\0') {
                            if ((var_69[3] & 0x80) == 0) {
                              var_23 = 3;
                              var_31 = (type_9 *)
                                        (((int)var_31 << 0xe | (type_5)var_69[3]) & 0x1fc07f |
                                        (var_32 & 0x7f) << 7);
                            }
                            else {
                              var_32 = var_70(var_69 + 1,(type_22 *)&var_54);
                              var_31 = (type_9 *)&DAT_ffffffff;
                              if (var_52 == 0) {
                                var_31 = (type_9 *)var_54;
                              }
                              var_23 = (type_5)var_32;
                            }
                          }
                          else {
                            var_23 = 2;
                            var_31 = (type_9 *)(((type_5)var_31 & 0x7f) << 7 | (type_5)var_32);
                          }
                        }
                        else {
                          var_23 = 1;
                        }
                        var_73 = true;
                        var_30 = (type_9 *)0x0;
                        if (var_48[var_15] != '\0') {
                          var_15 = 0x14dce1;
                          var_30 = (type_9 *)var_71(pVVar3,var_19);
                          var_73 = false;
                          if (var_30 == (type_9 *)0x0) {
                            pRc = (char **)&DAT_ffffffff;
                            var_30 =
                                 (type_9 *)
                                 var_72(var_31,-1,(void *)0x0,var_15,(type_23 *)0x0,
                                          (type_3)in_stack_ffffff28);
                            var_73 = var_30 == (type_9 *)0x0;
                          }
                        }
                        var_69 = var_69 + 1 + var_23 + (int)var_31;
                        var_15 = var_19;
                      } while ((bool)(var_19 < var_12 & var_73));
                      var_7 = (int)var_30;
                      pVVar3 = (type_6 *)pSel;
                      if (var_30 == (type_9 *)0x0) goto LAB_0014ddea;
                    }
                    var_17 = (int *)var_17[4];
                    pVVar3 = (type_6 *)pSel;
                  } while ((var_17 != (int *)0x0) && (var_73));
                  var_16 = var_16 + 1;
                  var_12 = var_8[7];
                  if ((var_12 <= var_16) || (var_7 != 0)) goto LAB_0014d9b9;
                  var_15 = var_8[8];
                }
                var_16 = var_16 + 1;
              } while (var_16 < var_12);
            }
          }
          else {
            var_68 = buf.nBuf;
            pVVar3 = (type_6 *)pSel;
          }
LAB_0014d9b9:
          var_74((type_9 *)pVVar3);
          if (buf.nBuf == var_68) {
            buf.nBuf = iVar7;
          }
          var_63(azCol);
        }
        var_8 = (int *)*var_8;
      } while ((var_7 == 0) && (var_8 != (int *)0x0));
    }
    if (var_7 == 0) goto LAB_0014da0a;
  }
  var_63(buf.aBuf);
  psVar12 = (type_4 *)((int)&__DT_REL[0x79].r_info + var_4 + 3);
  var_5(psVar12,zSql,(type_24)db,psVar12,(char **)0x0);
  iVar7 = var_7;
  if (db->mutex != (type_17 *)0x0) {
    (**(type_11 **)(var_4 + 0x6dcfd))(db->mutex);
    iVar7 = var_7;
  }
LAB_0014d7d0:
  if (var_75 != *(int *)(var_2 + 0x14)) {
                    /* WARNING: Subroutine does not return */
    var_76();
  }
  return iVar7;
}


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

uint MASKED(undefined4 param_1,uint *param_2,int *param_3)

{
  byte bVar1;
  int iVar2;
  uint uVar3;
  int *piVar4;
  uint uVar5;
  int iVar6;
  char *pcVar7;
  undefined4 uVar8;
  void *__s2;
  code *extraout_ECX;
  uint uVar9;
  int iVar10;
  size_t sVar11;
  char cVar12;
  byte bVar13;
  uint uVar14;
  byte *pbVar15;
  int iVar16;
  uint uVar17;
  byte *pbVar18;
  int unaff_EDI;
  uint uVar19;
  char *pcVar20;
  int in_GS_OFFSET;
  bool bVar21;
  longdouble lVar22;
  undefined8 uVar23;
  longlong lVar24;
  uint local_dc;
  uint local_cc;
  byte *local_c4;
  undefined4 *local_c0;
  int *local_b4;
  uint local_94;
  int local_88;
  uint local_74;
  uint local_70;
  uint local_5c;
  size_t local_58;
  char *local_54;
  undefined4 local_50;
  int *local_4c;
  uint local_48;
  uint local_44;
  uint local_40;
  int local_38;
  uint local_34;
  uint local_30;
  uint local_2c;
  uint local_28;
  uint local_24;
  int local_20;
  
  uVar23 = FUN_0003a401();
  iVar10 = (int)((ulonglong)uVar23 >> 0x20);
  piVar4 = (int *)uVar23;
  iVar2 = *piVar4;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_38 = 0;
  local_34 = 0;
  local_30 = 0;
  if (extraout_ECX == (code *)0x0) {
    *param_2 = 0;
    *param_3 = 0;
  }
  uVar5 = piVar4[5];
  if ((piVar4[5] != 0) ||
     (local_5c = FUN_000e9460(*piVar4,unaff_EDI + 0x1159f,0,0,0), uVar5 = local_5c, local_5c != 0))
  goto LAB_0014d7d0;
  if (*(int *)(iVar2 + 0xc) == 0) {
    local_c0 = (undefined4 *)piVar4[10];
    if (local_c0 != (undefined4 *)0x0) goto LAB_0014d858;
LAB_0014da0a:
    iVar10 = local_38;
    if (extraout_ECX == (code *)0x0) {
      local_38 = 0;
      *param_2 = local_34;
      *param_3 = iVar10;
    }
    else if (0 < (int)local_34) {
      local_5c = (*extraout_ECX)(param_1,local_38,local_34);
    }
  }
  else {
    (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar2 + 0xc));
    for (local_c0 = (undefined4 *)piVar4[10]; (local_5c == 0 && (local_c0 != (undefined4 *)0x0));
        local_c0 = (undefined4 *)*local_c0) {
LAB_0014d858:
      uVar5 = local_34;
      if (local_c0[6] != 0) {
        local_50 = 0;
        local_4c = (int *)0x0;
        local_5c = FUN_00112490(&local_58,0,&local_50,&local_54);
        if ((local_5c == 0) &&
           ((local_c0[2] != local_58 ||
            (iVar6 = memcmp(local_54,(void *)local_c0[5],local_58), iVar6 != 0)))) {
          local_5c = 0x11;
        }
        FUN_000a1ad0(&local_5c);
        if (local_5c == 0) {
          local_5c = FUN_001425c0(local_58,local_50,local_54,&local_4c);
          local_74 = local_34;
          iVar6 = local_c0[7];
          piVar4 = local_4c;
          if ((0 < iVar6) && (local_5c == 0)) {
            local_88 = 0;
            iVar16 = local_c0[8];
            do {
              while (local_b4 = *(int **)(iVar16 + local_88 * 4), local_b4 != (int *)0x0) {
                do {
                  pcVar20 = local_54;
                  sVar11 = local_58;
                  pbVar15 = (byte *)local_b4[3];
                  if ((int)local_58 < 1) {
                    local_5c = 0;
LAB_0014ddea:
                    iVar6 = FUN_000e7e00(piVar4);
                    uVar9 = local_34;
                    piVar4 = local_4c;
                    pcVar20 = local_54;
                    sVar11 = local_58;
                    if (iVar6 == 100) {
                      if (*local_b4 == 0x12) {
                        FUN_00133280();
                        iVar6 = 0;
                        FUN_00133280();
                        uVar9 = local_5c;
                        sVar11 = local_58;
                        if (0 < (int)local_58) {
                          do {
                            while (uVar9 != 0) {
                              iVar6 = iVar6 + 1;
                              piVar4 = local_4c;
                              if ((int)sVar11 <= iVar6) goto LAB_0014d9b9;
                            }
                            iVar6 = iVar6 + 1;
                            FUN_000a1c40(&local_5c);
                            uVar9 = local_5c;
                            sVar11 = local_58;
                          } while (iVar6 < (int)local_58);
                        }
                      }
                      else {
                        local_48 = 0;
                        local_c4 = (byte *)local_b4[3];
                        local_2c = 0;
                        local_28 = 0;
                        local_24 = 0;
                        if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {
                          uVar14 = local_30;
                          if (local_30 == 0) {
                            uVar14 = 0x80;
                          }
                          uVar17 = (int)uVar14 >> 0x1f;
                          do {
                            uVar17 = uVar17 << 1 | uVar14 >> 0x1f;
                            uVar14 = uVar14 * 2;
                          } while ((int)(uint)(uVar14 - local_34 != 0) <=
                                   (int)-((uVar17 - ((int)local_34 >> 0x1f)) -
                                         (uint)(uVar14 < local_34)));
                          iVar6 = FUN_00067fc0();
                          if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {
                            local_38 = iVar6;
                            local_30 = uVar14;
                            if (local_48 == 0) goto LAB_0014df46;
                          }
                          else {
LAB_0014ed09:
                            local_48 = 7;
                          }
                        }
                        else {
LAB_0014df46:
                          uVar14 = local_34 + 1;
                          *(undefined1 *)(local_38 + local_34) = 0x17;
                          iVar6 = local_b4[1];
                          local_34 = uVar14;
                          if (local_48 == 0) {
                            if (local_30 == uVar14 || (int)(local_30 - uVar14) < 0) {
                              uVar17 = local_30;
                              if (local_30 == 0) {
                                uVar17 = 0x80;
                              }
                              uVar19 = (int)uVar17 >> 0x1f;
                              do {
                                uVar19 = uVar19 << 1 | uVar17 >> 0x1f;
                                uVar17 = uVar17 * 2;
                              } while ((int)(uint)(uVar17 - uVar14 != 0) <=
                                       (int)-((uVar19 - ((int)uVar14 >> 0x1f)) -
                                             (uint)(uVar17 < uVar14)));
                              iVar16 = FUN_00067fc0();
                              if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))
                              goto LAB_0014ed09;
                              local_38 = iVar16;
                              local_30 = uVar17;
                              if (local_48 != 0) goto joined_r0x0014e470;
                            }
                            local_cc._0_1_ = (undefined1)iVar6;
                            *(undefined1 *)(local_38 + local_34) = (undefined1)local_cc;
                            local_34 = local_34 + 1;
                          }
                        }
joined_r0x0014e470:
                        if ((piVar4 != (int *)0x0) && ((short)piVar4[0x22] != 0)) {
                          local_dc = 0;
                          local_94 = 1;
                          do {
                            bVar1 = *local_c4;
                            if (bVar1 == 0) {
LAB_0014e690:
                              if ((char)local_c4[1] < '\0') {
                                uVar14 = FUN_00044cf0();
                                iVar6 = (uVar14 & 0xff) + 1;
                              }
                              else {
                                iVar6 = 2;
                                local_44 = (uint)local_c4[1];
                              }
                              local_cc = local_44 + iVar6;
                              iVar16 = *piVar4;
                              if (*(int *)(iVar16 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar16 + 0xc));
                                iVar16 = *piVar4;
                              }
                              if ((piVar4[0x1d] == 0) ||
                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {
                                *(undefined4 *)(iVar16 + 0x3c) = 0x19;
                                bVar13 = 5;
                                FUN_0004c5a0();
                                iVar16 = *piVar4;
                              }
                              else {
                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +
                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &
                                                  0x1f));
                              }
                              if ((*(char *)(iVar16 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {
                                uVar14 = piVar4[10] & *(uint *)(iVar16 + 0x40);
                              }
                              else {
                                uVar14 = FUN_0004c680();
                                iVar16 = *piVar4;
                              }
                              piVar4[10] = uVar14;
                              if (*(int *)(iVar16 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar16 + 0xc));
                              }
                              uVar14 = local_cc;
                              if (bVar1 == bVar13) {
                                FUN_0004c5d0();
                                sVar11 = FUN_0007f360();
                                FUN_0004c6c0();
                                uVar17 = local_44;
                                if (local_44 != sVar11) goto LAB_0014e743;
                                if (local_44 != 0) {
                                  uVar8 = FUN_0004c5d0();
                                  __s2 = (void *)FUN_0007f710(uVar8);
                                  FUN_0004c6c0();
                                  iVar6 = memcmp(local_c4 + iVar6,__s2,uVar17);
                                  if (iVar6 != 0) goto LAB_0014e743;
                                }
                                if (iVar10 != 0) goto LAB_0014e9cb;
                                if (pcVar20[local_dc] == '\0') {
LAB_0014e8c6:
                                  iVar6 = FUN_000a19a0();
                                  if (iVar6 == 0) {
                                    *(undefined1 *)(local_38 + local_34) = 0;
                                    local_34 = local_34 + 1;
                                  }
                                }
                                else if ((0 < (int)local_cc) && (local_70 = local_48, local_48 == 0)
                                        ) goto LAB_0014eaca;
                              }
                              else {
LAB_0014e743:
                                if ((iVar10 != 0) || ((int)local_cc < 1)) {
                                  local_94 = 0;
                                  goto LAB_0014e560;
                                }
                                local_94 = local_48;
                                if (local_48 != 0) {
                                  local_94 = 0;
                                  goto LAB_0014e590;
                                }
                                local_70 = 1;
LAB_0014eaca:
                                if ((int)(local_30 - local_34) < (int)uVar14) {
                                  uVar17 = local_30;
                                  if (local_30 == 0) {
                                    uVar17 = 0x80;
                                  }
                                  uVar19 = (int)uVar17 >> 0x1f;
                                  do {
                                    uVar19 = uVar19 << 1 | uVar17 >> 0x1f;
                                    uVar17 = uVar17 * 2;
                                    iVar16 = (uVar19 - ((int)local_34 >> 0x1f)) -
                                             (uint)(uVar17 < local_34);
                                    uVar3 = (uint)(uVar17 - local_34 < uVar14);
                                    iVar6 = iVar16 - ((int)uVar14 >> 0x1f);
                                  } while ((SBORROW4(iVar16,(int)uVar14 >> 0x1f) !=
                                           SBORROW4(iVar6,uVar3)) != (int)(iVar6 - uVar3) < 0);
                                  iVar6 = FUN_00067fc0();
                                  if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {
                                    local_38 = iVar6;
                                    local_30 = uVar17;
                                    if (local_48 == 0) goto LAB_0014eb76;
                                  }
                                  else {
                                    local_48 = 7;
                                  }
                                  if (local_70 != 0) goto LAB_0014e590;
                                }
                                else {
LAB_0014eb76:
                                  memcpy((void *)(local_34 + local_38),local_c4,local_cc);
                                  local_34 = local_34 + uVar14;
                                  if (local_70 != 0) goto LAB_0014e560;
                                }
                              }
LAB_0014e900:
                              if (local_48 == 0) {
                                if (local_24 == local_28 || (int)(local_24 - local_28) < 0) {
                                  uVar14 = local_24;
                                  if (local_24 == 0) {
                                    uVar14 = 0x80;
                                  }
                                  uVar17 = (int)uVar14 >> 0x1f;
                                  do {
                                    uVar17 = uVar17 << 1 | uVar14 >> 0x1f;
                                    uVar14 = uVar14 * 2;
                                  } while ((int)(uint)(uVar14 - local_28 != 0) <=
                                           (int)-((uVar17 - ((int)local_28 >> 0x1f)) -
                                                 (uint)(uVar14 < local_28)));
                                  iVar6 = FUN_00067fc0();
                                  if ((iVar6 == 0) && (uVar17 = FUN_00055930(), uVar17 != 0)) {
                                    local_2c = uVar17;
                                    local_24 = uVar14;
                                    if (local_48 == 0) goto LAB_0014e9b4;
                                  }
                                  else {
                                    local_48 = 7;
                                  }
                                }
                                else {
LAB_0014e9b4:
                                  *(undefined1 *)(local_2c + local_28) = 0;
                                  local_28 = local_28 + 1;
                                }
                              }
                            }
                            else {
                              if (2 < bVar1) {
                                if (bVar1 != 5) goto LAB_0014e690;
                                iVar6 = *piVar4;
                                if (*(int *)(iVar6 + 0xc) != 0) {
                                  (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));
                                  iVar6 = *piVar4;
                                }
                                if ((piVar4[0x1d] == 0) ||
                                   ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {
                                  *(undefined4 *)(iVar6 + 0x3c) = 0x19;
                                  FUN_0004c5a0();
                                  iVar6 = *piVar4;
                                  cVar12 = '\x05';
                                }
                                else {
                                  cVar12 = *(char *)(unaff_EDI + 0x16599 +
                                                    (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28)
                                                    & 0x1f));
                                }
                                if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {
                                  uVar14 = piVar4[10] & *(uint *)(iVar6 + 0x40);
                                }
                                else {
                                  uVar14 = FUN_0004c680();
                                  iVar6 = *piVar4;
                                }
                                piVar4[10] = uVar14;
                                if (*(int *)(iVar6 + 0xc) != 0) {
                                  (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));
                                }
                                if (cVar12 == '\x05') {
                                  local_cc = 1;
                                  if (iVar10 == 0) {
                                    uVar14 = 1;
                                    goto LAB_0014e8bd;
                                  }
LAB_0014e9cb:
                                  if (pcVar20[local_dc] == '\0') goto LAB_0014e900;
                                  goto LAB_0014e560;
                                }
                                if (iVar10 != 0) {
                                  local_94 = 0;
                                  local_cc = 1;
                                  goto LAB_0014e560;
                                }
                                local_94 = local_48;
                                if (local_48 != 0) {
                                  local_94 = 0;
                                  local_cc = 1;
                                  goto LAB_0014e590;
                                }
                                local_cc = 1;
                                local_70 = 1;
                                uVar14 = 1;
                                goto LAB_0014eaca;
                              }
                              iVar6 = *piVar4;
                              if (*(int *)(iVar6 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcf5))(*(int *)(iVar6 + 0xc));
                                iVar6 = *piVar4;
                              }
                              if ((piVar4[0x1d] == 0) ||
                                 ((int)(uint)*(ushort *)(piVar4 + 0x22) <= (int)local_dc)) {
                                *(undefined4 *)(iVar6 + 0x3c) = 0x19;
                                bVar13 = 5;
                                FUN_0004c5a0();
                                iVar6 = *piVar4;
                              }
                              else {
                                bVar13 = *(byte *)(unaff_EDI + 0x16599 +
                                                  (*(ushort *)(piVar4[0x1d] + 8 + local_dc * 0x28) &
                                                  0x1f));
                              }
                              if ((*(char *)(iVar6 + 0x4d) == '\0') && (piVar4[10] != 0xc0a)) {
                                uVar14 = *(uint *)(iVar6 + 0x40) & piVar4[10];
                              }
                              else {
                                uVar14 = FUN_0004c680();
                                iVar6 = *piVar4;
                              }
                              piVar4[10] = uVar14;
                              if (*(int *)(iVar6 + 0xc) != 0) {
                                (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar6 + 0xc));
                              }
                              if (bVar1 == bVar13) {
                                uVar14 = *(uint *)(local_c4 + 1);
                                uVar17 = *(uint *)(local_c4 + 5);
                                uVar14 = uVar14 >> 0x18 | (uVar14 & 0xff0000) >> 8 |
                                         (uVar14 & 0xff00) << 8 | uVar14 << 0x18;
                                uVar17 = uVar17 >> 0x18 | (uVar17 & 0xff0000) >> 8 |
                                         (uVar17 & 0xff00) << 8 | uVar17 << 0x18;
                                if (bVar1 == 1) {
                                  FUN_0004c5d0();
                                  lVar24 = FUN_00045540();
                                  FUN_0004c6c0();
                                  if (lVar24 == CONCAT44(uVar14,uVar17)) goto LAB_0014e89a;
                                  goto LAB_0014e65d;
                                }
                                local_44 = uVar17;
                                local_40 = uVar14;
                                FUN_0004c5d0();
                                lVar22 = (longdouble)FUN_000455a0();
                                FUN_0004c6c0();
                                if ((double)lVar22 != (double)CONCAT44(uVar14,uVar17))
                                goto LAB_0014e65d;
LAB_0014e89a:
                                local_cc = 9;
                                if (iVar10 != 0) goto LAB_0014e9cb;
                                uVar14 = 9;
LAB_0014e8bd:
                                if (pcVar20[local_dc] == '\0') goto LAB_0014e8c6;
                                local_70 = local_48;
                                if (local_48 == 0) goto LAB_0014eaca;
                              }
                              else {
LAB_0014e65d:
                                if (iVar10 == 0) {
                                  local_94 = local_48;
                                  if (local_48 == 0) {
                                    local_cc = 9;
                                    local_70 = 1;
                                    uVar14 = 9;
                                    goto LAB_0014eaca;
                                  }
                                  local_94 = 0;
                                  local_cc = 9;
                                  goto LAB_0014e590;
                                }
                                local_94 = 0;
                                local_cc = 9;
LAB_0014e560:
                                if (local_48 == 0) {
                                  FUN_000a1c40(&local_48);
                                }
                              }
                            }
LAB_0014e590:
                            local_dc = local_dc + 1;
                            local_c4 = local_c4 + local_cc;
                          } while ((int)local_dc < (int)(uint)*(ushort *)(piVar4 + 0x22));
                          if (local_94 == 0) {
                            FUN_000a1a70(&local_48);
                            uVar9 = local_34;
                          }
                        }
                        local_34 = uVar9;
                        FUN_00044000(local_2c);
                        local_5c = local_48;
                      }
                    }
                    else if (*local_b4 != 0x12) {
                      local_44 = 0;
                      if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {
                        uVar14 = local_30;
                        if (local_30 == 0) {
                          uVar14 = 0x80;
                        }
                        uVar9 = (int)uVar14 >> 0x1f;
                        do {
                          uVar9 = uVar9 << 1 | uVar14 >> 0x1f;
                          uVar14 = uVar14 * 2;
                        } while ((int)(uint)(uVar14 - local_34 != 0) <=
                                 (int)-((uVar9 - ((int)local_34 >> 0x1f)) -
                                       (uint)(uVar14 < local_34)));
                        iVar6 = FUN_00067fc0();
                        if ((iVar6 == 0) && (iVar6 = FUN_00055930(), iVar6 != 0)) {
                          uVar9 = local_34;
                          local_38 = iVar6;
                          local_30 = uVar14;
                          if (local_44 == 0) goto LAB_0014e098;
                        }
                        else {
LAB_0014ecf9:
                          local_44 = 7;
                        }
                      }
                      else {
LAB_0014e098:
                        local_34 = uVar9 + 1;
                        *(undefined1 *)(local_38 + uVar9) = 9;
                        iVar6 = local_b4[1];
                        if (local_44 == 0) {
                          if (local_30 == local_34 || (int)(local_30 - local_34) < 0) {
                            uVar9 = local_30;
                            if (local_30 == 0) {
                              uVar9 = 0x80;
                            }
                            uVar14 = (int)uVar9 >> 0x1f;
                            do {
                              uVar14 = uVar14 << 1 | uVar9 >> 0x1f;
                              uVar9 = uVar9 * 2;
                            } while ((int)(uint)(uVar9 - local_34 != 0) <=
                                     (int)-((uVar14 - ((int)local_34 >> 0x1f)) -
                                           (uint)(uVar9 < local_34)));
                            iVar16 = FUN_00067fc0();
                            if ((iVar16 != 0) || (iVar16 = FUN_00055930(), iVar16 == 0))
                            goto LAB_0014ecf9;
                            local_38 = iVar16;
                            local_30 = uVar9;
                            if (local_44 != 0) goto LAB_0014e17a;
                          }
                          local_94._0_1_ = (undefined1)iVar6;
                          *(undefined1 *)(local_38 + local_34) = (undefined1)local_94;
                          local_34 = local_34 + 1;
                        }
                      }
LAB_0014e17a:
                      pbVar15 = (byte *)local_b4[3];
                      if (iVar10 == 0) {
                        sVar11 = local_b4[2];
                        if ((0 < (int)sVar11) && (iVar6 = FUN_000a19a0(), iVar6 == 0)) {
                          memcpy((void *)(local_34 + local_38),pbVar15,sVar11);
                          local_34 = local_34 + sVar11;
                        }
                      }
                      else if (0 < (int)sVar11) {
                        pcVar7 = pcVar20 + sVar11;
                        do {
                          bVar1 = *pbVar15;
                          pbVar18 = pbVar15 + 1;
                          if (bVar1 < 3) {
                            if (bVar1 != 0) {
                              pbVar18 = pbVar15 + 9;
                            }
LAB_0014e1b0:
                            cVar12 = *pcVar20;
                          }
                          else {
                            if (bVar1 == 5) goto LAB_0014e1b0;
                            uVar14 = 1;
                            uVar9 = (uint)pbVar15[1];
                            if ((char)pbVar15[1] < '\0') {
                              uVar14 = FUN_00044cf0();
                              uVar14 = uVar14 & 0xff;
                              uVar9 = local_2c;
                            }
                            pbVar18 = pbVar18 + uVar9 + uVar14;
                            cVar12 = *pcVar20;
                          }
                          if (((cVar12 != '\0') &&
                              (sVar11 = (int)pbVar18 - (int)pbVar15, 0 < (int)sVar11)) &&
                             (iVar6 = FUN_000a19a0(), iVar6 == 0)) {
                            memcpy((void *)(local_34 + local_38),pbVar15,sVar11);
                            local_34 = local_34 + sVar11;
                          }
                          pcVar20 = pcVar20 + 1;
                          pbVar15 = pbVar18;
                        } while (pcVar20 != pcVar7);
                      }
                      local_5c = local_44;
                    }
                    piVar4 = local_4c;
                    if (local_5c != 0) goto LAB_0014d9b9;
                    local_5c = FUN_000bfe40(local_4c);
                    if (extraout_ECX == (code *)0x0) {
                      bVar21 = local_5c == 0;
                    }
                    else {
                      piVar4 = local_4c;
                      if (local_5c != 0) goto LAB_0014d9b9;
                      if (((int)local_74 < (int)local_34) &&
                         (*(int *)(&DAT_0006dc5d + unaff_EDI) < (int)local_34)) {
                        local_5c = (*extraout_ECX)(param_1,local_38,local_34);
                        local_34 = 0;
                        bVar21 = local_5c == 0;
                        local_74 = 0xffffffff;
                      }
                      else {
                        bVar21 = true;
                      }
                    }
                  }
                  else {
                    iVar6 = 0;
                    do {
                      iVar16 = iVar6 + 1;
                      if (*pbVar15 < 6) {
                    /* WARNING: Could not recover jumptable at 0x0014db17. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                        uVar5 = (*(code *)(*(int *)(unaff_EDI + 0x146f1 + (uint)*pbVar15 * 4) +
                                          unaff_EDI + 0x6d6e1))();
                        return uVar5;
                      }
                      uVar9 = (uint)pbVar15[1];
                      if ((char)pbVar15[1] < '\0') {
                        bVar1 = pbVar15[2];
                        if ((char)bVar1 < '\0') {
                          if ((pbVar15[3] & 0x80) == 0) {
                            uVar14 = 3;
                            uVar9 = (uVar9 << 0xe | (uint)pbVar15[3]) & 0x1fc07f |
                                    (bVar1 & 0x7f) << 7;
                          }
                          else {
                            uVar14 = FUN_0003b460();
                            uVar9 = 0xffffffff;
                            if (local_28 == 0) {
                              uVar9 = local_2c;
                            }
                            uVar14 = uVar14 & 0xff;
                          }
                        }
                        else {
                          uVar14 = 2;
                          uVar9 = (uVar9 & 0x7f) << 7 | (uint)bVar1;
                        }
                      }
                      else {
                        uVar14 = 1;
                      }
                      bVar21 = true;
                      local_dc = 0;
                      if (pcVar20[iVar6] != '\0') {
                        local_dc = FUN_00079820();
                        bVar21 = false;
                        if (local_dc == 0) {
                          local_dc = FUN_00071970(uVar9,0xffffffff,0);
                          bVar21 = local_dc == 0;
                        }
                      }
                      pbVar15 = pbVar15 + uVar9 + uVar14 + 1;
                      iVar6 = iVar16;
                    } while ((bool)(iVar16 < (int)sVar11 & bVar21));
                    local_5c = local_dc;
                    piVar4 = local_4c;
                    if (local_dc == 0) goto LAB_0014ddea;
                  }
                  local_b4 = (int *)local_b4[4];
                  piVar4 = local_4c;
                } while ((local_b4 != (int *)0x0) && (bVar21));
                local_88 = local_88 + 1;
                iVar6 = local_c0[7];
                if ((iVar6 <= local_88) || (local_5c != 0)) goto LAB_0014d9b9;
                iVar16 = local_c0[8];
              }
              local_88 = local_88 + 1;
            } while (local_88 < iVar6);
          }
        }
        else {
          local_74 = local_34;
          piVar4 = local_4c;
        }
LAB_0014d9b9:
        FUN_000c0450(piVar4);
        if (local_34 == local_74) {
          local_34 = uVar5;
        }
        FUN_00044000(local_50);
      }
    }
    if (local_5c == 0) goto LAB_0014da0a;
  }
  FUN_00044000(local_38);
  FUN_000e9460(iVar2,unaff_EDI + 0x115b3,0,0,0);
  uVar5 = local_5c;
  if (*(int *)(iVar2 + 0xc) != 0) {
    (**(code **)(unaff_EDI + 0x6dcfd))(*(int *)(iVar2 + 0xc));
    uVar5 = local_5c;
  }
LAB_0014d7d0:
  if (local_20 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
    FUN_00153870();
  }
  return uVar5;
}

