
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Unknown calling convention */

void fts5DecodeFunction(sqlite3_context *pCtx,int nArg,sqlite3_value **apVal)

{
  undefined4 *puVar1;
  int iVar2;
  ushort uVar3;
  Fts5Data *pFVar4;
  byte bVar5;
  void *pvVar6;
  size_t __n;
  void *__src;
  u8 *puVar7;
  uint uVar8;
  u8 *puVar9;
  uchar *p;
  uint uVar10;
  u8 *puVar11;
  int *piVar12;
  Fts5Buffer *pBuf;
  undefined *puVar13;
  int iVar14;
  u8 *puVar15;
  int in_GS_OFFSET;
  sqlite_int64 sVar16;
  int iVar17;
  int nData;
  sqlite3_int64 in_stack_ffffff54;
  int local_9c;
  u8 *local_98;
  Fts5DlidxLvl *local_94;
  uint local_90;
  u8 *local_84;
  u8 *local_80;
  u8 *local_7c;
  int rc;
  int iTermOff;
  int nKeep;
  int nAppend;
  Fts5Buffer s;
  Fts5Data dlidx;
  Fts5DlidxLvl lvl;
  
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  rc = 0;
  pvVar6 = sqlite3_user_data(pCtx);
  s.p = (u8 *)0x0;
  s.n = 0;
  s.nSpace = 0;
  sVar16 = sqlite3_value_int64(*apVal);
  __n = sqlite3_value_bytes(apVal[1]);
  __src = sqlite3_value_blob(apVal[1]);
  if (rc == 0) {
    iVar17 = 0x71cf2;
    local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);
    if (local_98 != (u8 *)0x0) {
      if (0 < (int)__n) {
        memcpy(local_98,__src,__n);
      }
      local_94 = (Fts5DlidxLvl *)sVar16;
      local_90 = (uint)((ulonglong)sVar16 >> 0x20);
      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);
      uVar10 = (int)local_90 >> 4 & 1;
      uVar8 = (int)local_90 >> 5 & 0xffff;
      if (uVar8 == 0) {
        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {
          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");
          if (uVar10 == 0) {
            iVar17 = rc;
            if (0 < (int)__n) {
              iVar14 = 0;
              puVar13 = &DAT_000f7177;
              do {
                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);
                iVar14 = iVar14 + (uint)bVar5;
                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);
                puVar13 = &DAT_000fa0a2;
                iVar17 = rc;
              } while (iVar14 < (int)__n);
            }
            goto LAB_00071dac;
          }
        }
        else {
          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");
          if (uVar10 == 0) {
            lvl.pData = (Fts5Data *)0x0;
            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);
            pFVar4 = lvl.pData;
            if (iVar17 == 0) {
              if (0 < lvl.pData[1].nn) {
                piVar12 = &lvl.pData[1].szLeaf;
                local_9c = 0;
                do {
                  sqlite3Fts5BufferAppendPrintf
                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);
                  iVar17 = 0;
                  if (0 < piVar12[1]) {
                    do {
                      iVar14 = iVar17 + 1;
                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);
                      sqlite3Fts5BufferAppendPrintf
                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);
                      iVar17 = iVar14;
                    } while (iVar14 < piVar12[1]);
                  }
                  piVar12 = piVar12 + 3;
                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");
                  local_9c = local_9c + 1;
                } while (local_9c < pFVar4[1].nn);
                iVar17 = rc;
                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;
              }
              puVar7 = (lvl.pData)->p;
              (lvl.pData)->p = puVar7 + -1;
              iVar17 = rc;
              if ((int)(puVar7 + -1) < 1) {
                fts5StructureRelease((Fts5Structure *)lvl.pData);
                iVar17 = rc;
              }
            }
            goto LAB_00071dac;
          }
        }
      }
      else {
        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);
        if (uVar10 == 0) {
          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);
          if (pvVar6 == (void *)0x0) {
            nAppend = 0;
            lvl.pData = (Fts5Data *)0x0;
            lvl.iOff = 0;
            lvl.bEof = 0;
            if ((int)__n < 4) {
              s.n = 0;
              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");
              iVar17 = rc;
              goto LAB_00071dac;
            }
            uVar3 = CONCAT11(*local_98,local_98[1]);
            local_80 = (u8 *)(uint)uVar3;
            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);
            if ((int)puVar7 < (int)__n) {
              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);
              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {
                local_80 = puVar7;
              }
LAB_000722bf:
              if ((int)local_80 <= (int)__n) {
                if (0 < (int)(local_80 + -4)) {
                  iVar17 = 0;
                  do {
                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);
                    iVar17 = iVar17 + iVar14;
                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);
                  } while (iVar17 < (int)(local_80 + -4));
                }
                puVar9 = (u8 *)nAppend;
                if (nAppend == 0) {
                  puVar9 = puVar7;
                }
                if ((int)puVar9 <= (int)__n) {
                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);
                  if ((int)puVar7 < (int)__n) {
                    local_7c = (u8 *)rc;
                    puVar9 = puVar7;
                    if (rc == 0) {
                      while( true ) {
                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);
                        local_7c = local_7c + (int)dlidx.p;
                        puVar11 = puVar9 + iVar17;
                        local_80 = puVar7;
                        if ((int)puVar11 < (int)__n) break;
LAB_000723a0:
                        p = local_98 + (int)local_7c;
                        puVar15 = local_7c;
                        if (puVar7 != puVar9) {
                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);
                          puVar15 = local_7c + iVar17;
                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;
                          lvl.iOff = (int)dlidx.p;
                          p = local_98 + (int)puVar15;
                        }
                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);
                        puVar15 = puVar15 + iVar17;
                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;
                        sqlite3Fts5BufferAppendBlob
                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);
                        puVar15 = puVar15 + (int)dlidx.p;
                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);
                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,
                                          (int)local_80 - (int)puVar15);
                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))
                        goto LAB_00071fa2;
                      }
                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);
                      local_80 = dlidx.p + (int)local_7c;
                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;
LAB_000724b2:
                      rc = 0x10b;
                    }
                  }
                  goto LAB_00071fa2;
                }
              }
            }
            else if ((int)puVar7 <= (int)__n) {
              if (uVar3 == 0) {
                local_80 = puVar7;
              }
              goto LAB_000722bf;
            }
            rc = 0x10b;
            iVar17 = rc;
          }
          else {
            nKeep = 0;
            lvl.pData = (Fts5Data *)0x0;
            lvl.iOff = 0;
            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);
            lvl.bEof = 0;
            local_84 = puVar11;
            puVar9 = puVar11;
            if ((int)puVar11 < (int)__n) {
              iVar17 = 0x724d5;
              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);
              local_84 = puVar11 + iVar14;
              puVar9 = (u8 *)iTermOff;
            }
            iTermOff = (int)puVar9;
            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);
            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {
              nData = 0x71f1c;
              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);
              lvl.iOff = nKeep;
              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)
              ;
              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);
              iVar17 = iVar17 + iVar14 + nAppend;
              puVar9 = puVar11;
              if ((int)local_84 < (int)__n) {
                nData = 0x7213d;
                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);
                local_84 = local_84 + iVar14;
                puVar9 = dlidx.p + iTermOff;
              }
              iTermOff = (int)puVar9;
              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);
              iVar17 = iTermOff;
              if ((int)puVar11 <= iTermOff) break;
              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);
            }
LAB_00071fa2:
            local_94 = &lvl;
            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);
            iVar17 = rc;
          }
          goto LAB_00071dac;
        }
        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)
        ;
      }
      uVar8 = 0;
      do {
        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;
        uVar8 = uVar8 + 4;
      } while (uVar8 < 0x18);
      lvl.pData = &dlidx;
      dlidx.p = local_98;
      dlidx.nn = __n;
      lvl.iLeafPgno = (int)puVar7;
      fts5DlidxLvlNext(&lvl);
      while (iVar17 = rc, lvl.bEof == 0) {
        sqlite3Fts5BufferAppendPrintf
                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);
        fts5DlidxLvlNext(&lvl);
      }
      goto LAB_00071dac;
    }
  }
  local_98 = (u8 *)0x0;
  iVar17 = rc;
LAB_00071dac:
  rc = iVar17;
  sqlite3_free(local_98);
  if (rc == 0) {
    sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);
  }
  else {
    sqlite3_result_error_code(pCtx,rc);
  }
  sqlite3Fts5BufferFree(&s);
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)

{
  undefined4 *puVar1;
  ushort uVar2;
  undefined1 **ppuVar3;
  int iVar4;
  size_t __n;
  void *__src;
  uint uVar5;
  uint uVar6;
  undefined1 *puVar7;
  uint uVar8;
  uint uVar9;
  undefined1 *puVar10;
  undefined1 **ppuVar11;
  undefined1 *puVar12;
  undefined *puVar13;
  int iVar14;
  undefined1 *puVar15;
  int in_GS_OFFSET;
  longlong lVar16;
  int local_9c;
  undefined1 *local_98;
  undefined1 *local_84;
  undefined1 *local_80;
  undefined1 *local_7c;
  undefined1 *local_64;
  undefined1 *local_60;
  undefined1 *local_5c;
  undefined1 *local_58;
  undefined4 local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined1 *local_48;
  size_t local_44;
  undefined1 **local_3c;
  undefined1 *local_38;
  int local_34;
  uint local_2c;
  undefined4 local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x71c49;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_64 = (undefined1 *)0x0;
  iVar4 = FUN_0001d2c0(param_1);
  local_54 = 0;
  local_50 = 0;
  local_4c = 0;
  lVar16 = FUN_0002d350(*param_3);
  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);
  __n = FUN_0004e4c0(param_3[1]);
  __src = (void *)FUN_0004e6c0(param_3[1]);
  if (local_64 == (undefined1 *)0x0) {
    local_98 = (undefined1 *)FUN_00040980();
    if (local_98 != (undefined1 *)0x0) {
      if (0 < (int)__n) {
        memcpy(local_98,__src,__n);
      }
      uVar5 = (uint)lVar16 & 0x7fffffff;
      uVar9 = (int)uVar8 >> 4 & 1;
      uVar6 = (int)uVar8 >> 5 & 0xffff;
      if (uVar6 == 0) {
        if (lVar16 == 1) {
          FUN_00071860(&local_64,&local_54,"{averages} ");
          if (uVar9 == 0) {
            puVar7 = local_64;
            if (0 < (int)__n) {
              iVar4 = 0;
              puVar13 = &DAT_000f7177;
              do {
                uVar8 = FUN_0001bef0();
                iVar4 = iVar4 + (uVar8 & 0xff);
                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);
                puVar13 = &DAT_000fa0a2;
                puVar7 = local_64;
              } while (iVar4 < (int)__n);
            }
            goto LAB_00071dac;
          }
        }
        else {
          FUN_00071860(&local_64,&local_54,"{structure}");
          if (uVar9 == 0) {
            local_3c = (undefined1 **)0x0;
            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);
            ppuVar3 = local_3c;
            if (puVar7 == (undefined1 *)0x0) {
              if (0 < (int)local_3c[4]) {
                ppuVar11 = local_3c + 5;
                local_9c = 0;
                do {
                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,
                               ppuVar11[1]);
                  iVar4 = 0;
                  if (0 < (int)ppuVar11[1]) {
                    do {
                      iVar14 = iVar4 + 1;
                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);
                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],
                                   puVar1[2]);
                      iVar4 = iVar14;
                    } while (iVar14 < (int)ppuVar11[1]);
                  }
                  ppuVar11 = ppuVar11 + 3;
                  FUN_00071860(&local_64,&local_54,"}");
                  local_9c = local_9c + 1;
                } while (local_9c < (int)ppuVar3[4]);
                puVar7 = local_64;
                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;
              }
              puVar10 = *local_3c;
              *local_3c = puVar10 + -1;
              puVar7 = local_64;
              if ((int)(puVar10 + -1) < 1) {
                FUN_000346e0();
                puVar7 = local_64;
              }
            }
            goto LAB_00071dac;
          }
        }
      }
      else {
        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;
        if (uVar9 == 0) {
          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,
                       uVar5);
          if (iVar4 == 0) {
            local_58 = (undefined1 *)0x0;
            local_3c = (undefined1 **)0x0;
            local_38 = (undefined1 *)0x0;
            local_34 = 0;
            if ((int)__n < 4) {
              local_50 = 0;
              FUN_00069170("corrupt");
              puVar7 = local_64;
              goto LAB_00071dac;
            }
            uVar2 = CONCAT11(*local_98,local_98[1]);
            local_80 = (undefined1 *)(uint)uVar2;
            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);
            if ((int)puVar7 < (int)__n) {
              FUN_000360b0();
              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {
                local_80 = puVar7;
              }
LAB_000722bf:
              if ((int)local_80 <= (int)__n) {
                if (0 < (int)(local_80 + -4)) {
                  iVar4 = 0;
                  do {
                    iVar14 = FUN_000360b0();
                    iVar4 = iVar4 + iVar14;
                    FUN_00071860(&local_64,&local_54," %d",local_48);
                  } while (iVar4 < (int)(local_80 + -4));
                }
                puVar10 = local_58;
                if (local_58 == (undefined1 *)0x0) {
                  puVar10 = puVar7;
                }
                if ((int)puVar10 <= (int)__n) {
                  FUN_00071a60((int)puVar10 - (int)local_80);
                  if (((int)puVar7 < (int)__n) &&
                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {
                    while( true ) {
                      iVar4 = FUN_000360b0();
                      local_7c = local_7c + (int)local_48;
                      puVar12 = puVar10 + iVar4;
                      local_80 = puVar7;
                      if ((int)puVar12 < (int)__n) break;
LAB_000723a0:
                      puVar15 = local_7c;
                      if (puVar7 != puVar10) {
                        iVar4 = FUN_000360b0();
                        puVar15 = local_7c + iVar4;
                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;
                        local_38 = local_48;
                      }
                      iVar4 = FUN_000360b0();
                      puVar15 = puVar15 + iVar4;
                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;
                      FUN_00069170(local_98 + (int)puVar15);
                      puVar15 = puVar15 + (int)local_48;
                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);
                      FUN_00071a60((int)local_80 - (int)puVar15);
                      if (((int)__n <= (int)puVar12) ||
                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;
                    }
                    FUN_000360b0();
                    local_80 = local_48 + (int)local_7c;
                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;
LAB_000724b2:
                    local_64 = (undefined1 *)0x10b;
                  }
                  goto LAB_00071fa2;
                }
              }
            }
            else if ((int)puVar7 <= (int)__n) {
              if (uVar2 == 0) {
                local_80 = puVar7;
              }
              goto LAB_000722bf;
            }
            local_64 = (undefined1 *)0x10b;
            puVar7 = local_64;
          }
          else {
            local_5c = (undefined1 *)0x0;
            local_3c = (undefined1 **)0x0;
            local_38 = (undefined1 *)0x0;
            puVar10 = (undefined1 *)
                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);
            local_34 = 0;
            local_84 = puVar10;
            puVar7 = puVar10;
            if ((int)puVar10 < (int)__n) {
              iVar4 = FUN_000360b0();
              local_84 = puVar10 + iVar4;
              puVar7 = local_60;
            }
            local_60 = puVar7;
            FUN_000718e0(local_60 + -4);
            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {
              iVar4 = FUN_000360b0();
              local_38 = local_5c;
              FUN_00069170(local_98 + (int)(puVar7 + iVar4));
              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);
              puVar12 = puVar7 + iVar4 + (int)local_58;
              puVar7 = puVar10;
              if ((int)local_84 < (int)__n) {
                iVar4 = FUN_000360b0();
                local_84 = local_84 + iVar4;
                puVar7 = local_48 + (int)local_60;
              }
              local_60 = puVar7;
              FUN_000718e0((int)puVar7 - (int)puVar12);
              puVar7 = local_60;
              if ((int)puVar10 <= (int)local_60) break;
              iVar4 = FUN_000360b0();
            }
LAB_00071fa2:
            FUN_00027e40();
            puVar7 = local_64;
          }
          goto LAB_00071dac;
        }
        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);
      }
      uVar8 = 0;
      do {
        *(undefined4 *)((int)&local_38 + uVar8) = 0;
        uVar8 = uVar8 + 4;
      } while (uVar8 < 0x18);
      local_3c = &local_48;
      local_48 = local_98;
      local_44 = __n;
      local_2c = uVar5;
      FUN_00036530();
      while (puVar7 = local_64, local_34 == 0) {
        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);
        FUN_00036530();
      }
      goto LAB_00071dac;
    }
  }
  local_98 = (undefined1 *)0x0;
  puVar7 = local_64;
LAB_00071dac:
  local_64 = puVar7;
  FUN_000264d0(local_98);
  if (local_64 == (undefined1 *)0x0) {
    FUN_00047c90(param_1,local_54,local_50,0xffffffff);
  }
  else {
    FUN_000475e0(param_1,local_64);
  }
  FUN_00027e40();
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000f6410();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014d20
ADD EBX,0xd928b
SUB ESP,0xa8
MOV EAX,dword ptr [ESP + 0xbc]
MOV EBP,dword ptr [ESP + 0xc4]
MOV dword ptr [ESP + 0x30],EAX
MOV ECX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x98],ECX
XOR ECX,ECX
MOV dword ptr [ESP + 0x54],0x0
PUSH EAX
CALL 0x0001d2c0
MOV dword ptr [ESP + 0x68],0x0
MOV dword ptr [ESP + 0x30],EAX
MOV dword ptr [ESP + 0x6c],0x0
MOV dword ptr [ESP + 0x70],0x0
POP ESI
PUSH dword ptr [EBP]
CALL 0x0002d350
MOV dword ptr [ESP + 0x2c],EDX
MOV dword ptr [ESP + 0x28],EAX
POP EDI
PUSH dword ptr [EBP + 0x4]
CALL 0x0004e4c0
MOV dword ptr [ESP + 0x20],EAX
POP EAX
PUSH dword ptr [EBP + 0x4]
CALL 0x0004e6c0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x48]
TEST EDX,EDX
JNZ 0x00071da0
MOV EDI,dword ptr [ESP + 0x10]
MOV EBP,EAX
LEA EAX,[ESP + 0x48]
MOV dword ptr [ESP + 0xc],EAX
LEA EDX,[EDI + 0x8]
MOV ECX,EDX
SAR ECX,0x1f
CALL 0x00040980
MOV dword ptr [ESP + 0x14],EAX
TEST EAX,EAX
JZ 0x00071da0
TEST EDI,EDI
JLE 0x00071d10
SUB ESP,0x4
PUSH EDI
PUSH EBP
PUSH EAX
CALL 0x000140d0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
MOV EAX,EDX
MOV EBP,ECX
AND EAX,0x7fffffff
SAR EBP,0x4
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,ECX
AND EBP,0x1
SAR EAX,0x5
AND EAX,0xffff
JNZ 0x00071e20
MOV EAX,EDX
MOV EDX,ECX
XOR EAX,0x1
OR EDX,EAX
JZ 0x00072078
SUB ESP,0x4
LEA EAX,[EBX + 0xfffae170]
PUSH EAX
LEA EDI,[ESP + 0x60]
PUSH EDI
PUSH dword ptr [ESP + 0x18]
CALL 0x00071860
ADD ESP,0x10
TEST EBP,EBP
JNZ 0x00071fd8
MOV dword ptr [ESP + 0x70],0x0
SUB ESP,0xc
XOR ECX,ECX
LEA EAX,[ESP + 0x7c]
PUSH EAX
MOV EDX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x24]
CALL 0x000409f0
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00072158
MOV dword ptr [ESP + 0x48],EAX
JMP 0x00071dac
MOV dword ptr [ESP + 0x14],0x0
LEA EDI,[ESP + 0x58]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x20]
CALL 0x000264d0
MOV EAX,dword ptr [ESP + 0x58]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00071e00
SUB ESP,0x8
PUSH EAX
PUSH dword ptr [ESP + 0x30]
CALL 0x000475e0
ADD ESP,0x10
MOV EAX,EDI
CALL 0x00027e40
MOV EAX,dword ptr [ESP + 0x8c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x00072561
ADD ESP,0x9c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH -0x1
PUSH dword ptr [ESP + 0x60]
PUSH dword ptr [ESP + 0x60]
PUSH dword ptr [ESP + 0x30]
CALL 0x00047c90
ADD ESP,0x10
JMP 0x00071dd3
MOV ESI,dword ptr [ESP + 0x18]
MOV EDI,dword ptr [ESP + 0x1c]
SHRD ESI,EDI,0x1f
AND ESI,0x1f
TEST EBP,EBP
JNZ 0x00071fb0
SUB ESP,0x4
PUSH dword ptr [ESP + 0x2c]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffac2a3]
PUSH EAX
LEA EAX,[EBX + 0xfffae1cb]
PUSH EAX
LEA EDI,[ESP + 0x70]
PUSH EDI
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x20]
TEST EAX,EAX
JZ 0x00072250
MOV ECX,dword ptr [ESP + 0x14]
MOVZX EAX,byte ptr [ECX + 0x2]
SHL EAX,0x8
MOV EDX,EAX
MOVZX EAX,byte ptr [ECX + 0x3]
MOV dword ptr [ESP + 0x50],0x0
MOV dword ptr [ESP + 0x70],0x0
ADD EAX,EDX
MOV dword ptr [ESP + 0x74],0x0
MOVZX EBP,AX
MOV dword ptr [ESP + 0x78],0x0
CMP dword ptr [ESP + 0x10],EBP
JG 0x000724c8
MOV dword ptr [ESP + 0x4c],EBP
MOV EAX,EBP
MOV dword ptr [ESP + 0x28],EBP
MOV ECX,dword ptr [ESP + 0x14]
SUB EAX,0x4
SUB ESP,0xc
MOV EDX,EDI
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
ADD ECX,0x4
CALL 0x000718e0
MOV ESI,dword ptr [ESP + 0x5c]
ADD ESP,0x10
LEA EAX,[ESP + 0x70]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[ESP + 0x54]
MOV dword ptr [ESP + 0x2c],EAX
LEA EAX,[EBX + 0xfffae1b8]
MOV dword ptr [ESP + 0x30],EAX
LEA EAX,[ESP + 0x64]
MOV dword ptr [ESP + 0x38],EAX
LEA EAX,[ESP + 0x50]
MOV dword ptr [ESP + 0x34],EAX
CMP EBP,ESI
JLE 0x00071fa2
MOV dword ptr [ESP + 0x20],EDI
MOV EDI,dword ptr [ESP + 0x14]
NOP
MOV EDX,dword ptr [ESP + 0x2c]
LEA EAX,[EDI + ESI*0x1]
CALL 0x000360b0
SUB ESP,0xc
ADD ESI,EAX
MOV EAX,dword ptr [ESP + 0x5c]
MOV dword ptr [ESP + 0x80],EAX
LEA EAX,[EDI + ESI*0x1]
PUSH EAX
MOV ECX,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [ESP + 0x28]
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00069170
POP EAX
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x44]
PUSH dword ptr [ESP + 0x38]
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
ADD ESI,dword ptr [ESP + 0x74]
ADD ESP,0x20
MOV ECX,dword ptr [ESP + 0x28]
CMP dword ptr [ESP + 0x10],ECX
JG 0x00072130
MOV dword ptr [ESP + 0x4c],EBP
MOV EAX,EBP
SUB ESP,0xc
SUB EAX,ESI
LEA ECX,[EDI + ESI*0x1]
PUSH EAX
MOV EDX,dword ptr [ESP + 0x30]
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x000718e0
MOV ESI,dword ptr [ESP + 0x5c]
ADD ESP,0x10
CMP EBP,ESI
JG 0x00072110
MOV EDI,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x00027e40
JMP 0x00071dac
SUB ESP,0x4
PUSH dword ptr [ESP + 0x2c]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xfffae1e5]
PUSH EAX
LEA EAX,[EBX + 0xfffae1cb]
PUSH EAX
LEA EDI,[ESP + 0x70]
PUSH EDI
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x14]
LEA ECX,[ESP + 0x74]
XOR EDX,EDX
MOV dword ptr [ESP + 0x64],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV dword ptr [ESP + 0x68],EAX
XOR EAX,EAX
MOV dword ptr [ECX + EAX*0x1],EDX
ADD EAX,0x4
CMP EAX,0x18
JC 0x00071ff0
LEA EAX,[ESP + 0x64]
LEA ESI,[EBX + 0xfffae17c]
MOV dword ptr [ESP + 0x70],EAX
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x80],EAX
LEA EAX,[ESP + 0x70]
MOV dword ptr [ESP + 0x18],EAX
CALL 0x00036530
MOV EBP,dword ptr [ESP + 0x78]
TEST EBP,EBP
JNZ 0x00071dac
MOV EBP,dword ptr [ESP + 0xc]
LEA ESI,[ESI]
SUB ESP,0x8
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x90]
PUSH ESI
PUSH EDI
PUSH EBP
CALL 0x00071860
ADD ESP,0x20
MOV EAX,dword ptr [ESP + 0x18]
CALL 0x00036530
MOV ECX,dword ptr [ESP + 0x78]
TEST ECX,ECX
JZ 0x00072038
JMP 0x00071dac
SUB ESP,0x4
LEA EAX,[EBX + 0xfffae164]
PUSH EAX
LEA EDI,[ESP + 0x60]
PUSH EDI
PUSH dword ptr [ESP + 0x18]
CALL 0x00071860
ADD ESP,0x10
TEST EBP,EBP
JNZ 0x00071fd8
MOV ECX,dword ptr [ESP + 0x10]
TEST ECX,ECX
JLE 0x00071dac
LEA EAX,[ESP + 0x70]
LEA ESI,[EBX + 0xfffac2a3]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0xfffac50d]
MOV dword ptr [ESP + 0x28],EAX
LEA EAX,[EBX + 0xfffaf1ce]
MOV dword ptr [ESP + 0x20],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x18]
ADD EAX,EBP
CALL 0x0001bef0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x7c]
MOVZX EAX,AL
PUSH ESI
ADD EBP,EAX
PUSH dword ptr [ESP + 0x3c]
PUSH EDI
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
MOV ESI,dword ptr [ESP + 0x40]
ADD ESP,0x20
CMP dword ptr [ESP + 0x10],EBP
JG 0x000720d0
JMP 0x00071dac
MOV EDX,dword ptr [ESP + 0x34]
LEA EAX,[EDI + ESI*0x1]
CALL 0x000360b0
ADD ESI,EAX
CMP EBP,ESI
JG 0x00071f10
JMP 0x00071f9e
MOV EAX,ECX
MOV EDX,dword ptr [ESP + 0x38]
ADD EAX,EDI
CALL 0x000360b0
ADD dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x64]
ADD EAX,dword ptr [ESP + 0x4c]
MOV dword ptr [ESP + 0x4c],EAX
JMP 0x00071f79
MOV EAX,dword ptr [ESP + 0x70]
MOV EDX,dword ptr [EAX + 0x10]
MOV dword ptr [ESP + 0x20],EAX
TEST EDX,EDX
JLE 0x0007222a
LEA EBP,[EAX + 0x14]
LEA EAX,[EBX + 0xfffae186]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x2c],EAX
LEA EAX,[EBX + 0xfffae1b6]
MOV dword ptr [ESP + 0x28],EAX
LEA EAX,[EBX + 0xfffae1a1]
MOV dword ptr [ESP + 0x18],EAX
LEA ESI,[ESI]
SUB ESP,0x8
PUSH dword ptr [EBP + 0x4]
XOR ESI,ESI
PUSH dword ptr [EBP]
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x40]
PUSH EDI
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
MOV EAX,dword ptr [EBP + 0x4]
ADD ESP,0x20
TEST EAX,EAX
JLE 0x000721ed
NOP
MOV EDX,dword ptr [EBP + 0x8]
LEA ECX,[ESI + ESI*0x2]
SUB ESP,0x8
ADD ESI,0x1
LEA EDX,[EDX + ECX*0x4]
PUSH dword ptr [EDX + 0x8]
PUSH dword ptr [EDX + 0x4]
PUSH dword ptr [EDX]
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
ADD ESP,0x20
CMP ESI,dword ptr [EBP + 0x4]
JL 0x000721c0
SUB ESP,0x4
ADD EBP,0xc
PUSH dword ptr [ESP + 0x2c]
PUSH EDI
PUSH dword ptr [ESP + 0x18]
CALL 0x00071860
ADD dword ptr [ESP + 0x20],0x1
MOV EAX,dword ptr [ESP + 0x20]
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x20]
CMP EAX,dword ptr [ECX + 0x10]
JL 0x00072198
MOV EAX,dword ptr [ESP + 0x70]
MOV dword ptr [ESP + 0x20],EAX
TEST EAX,EAX
JZ 0x00071dac
MOV ECX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [ECX]
MOV dword ptr [ESP + 0xc],EAX
SUB EAX,0x1
MOV dword ptr [ECX],EAX
TEST EAX,EAX
JG 0x00071dac
MOV EAX,ECX
CALL 0x000346e0
JMP 0x00071dac
CMP dword ptr [ESP + 0x10],0x3
MOV dword ptr [ESP + 0x54],0x0
MOV dword ptr [ESP + 0x70],0x0
MOV dword ptr [ESP + 0x74],0x0
MOV dword ptr [ESP + 0x78],0x0
JLE 0x00072521
MOV ECX,dword ptr [ESP + 0x14]
MOVZX ESI,byte ptr [ECX]
MOVZX EAX,byte ptr [ECX + 0x1]
MOVZX EDX,byte ptr [ECX + 0x3]
SHL ESI,0x8
ADD ESI,EAX
MOVZX EAX,byte ptr [ECX + 0x2]
SHL EAX,0x8
ADD EAX,EDX
MOVZX EAX,AX
MOV dword ptr [ESP + 0x28],EAX
CMP dword ptr [ESP + 0x10],EAX
JG 0x000724f5
JL 0x000724e8
TEST SI,SI
JZ 0x0007254b
MOVZX EAX,SI
MOV dword ptr [ESP + 0x2c],EAX
MOV EAX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [ESP + 0x10]
CMP EAX,ECX
JG 0x000724e8
SUB EAX,0x4
LEA ECX,[ESP + 0x64]
LEA ESI,[EBX + 0xfffac367]
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x20],ECX
TEST EAX,EAX
JLE 0x0007231b
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [ESP + 0x14]
MOV EDX,dword ptr [ESP + 0x20]
LEA EAX,[EAX + EBP*0x1 + 0x4]
CALL 0x000360b0
PUSH dword ptr [ESP + 0x64]
PUSH ESI
ADD EBP,EAX
PUSH EDI
PUSH dword ptr [ESP + 0x18]
CALL 0x00071860
ADD ESP,0x10
CMP dword ptr [ESP + 0x18],EBP
JG 0x000722f0
MOV EAX,dword ptr [ESP + 0x54]
TEST EAX,EAX
CMOVZ EAX,dword ptr [ESP + 0x28]
CMP EAX,dword ptr [ESP + 0x10]
JG 0x000724e8
MOV EDX,dword ptr [ESP + 0x2c]
MOV ECX,dword ptr [ESP + 0x14]
SUB ESP,0xc
SUB EAX,EDX
ADD ECX,EDX
MOV EDX,EDI
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00071a60
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x28]
CMP dword ptr [ESP + 0x10],ECX
JLE 0x00072566
LEA EDX,[ESP + 0x64]
MOV EAX,dword ptr [ESP + 0x48]
MOV ECX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x20],EDX
LEA EDX,[ESP + 0x70]
MOV dword ptr [ESP + 0x18],EDX
LEA EDX,[EBX + 0xfffae1b8]
MOV dword ptr [ESP + 0x30],EAX
MOV dword ptr [ESP + 0x38],EDX
TEST EAX,EAX
JNZ 0x00071fa2
MOV EBP,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x34],EDI
JMP 0x00072453
LEA EAX,[EBP + ESI*0x1]
CMP dword ptr [ESP + 0x28],ECX
JZ 0x000723cb
MOV EDX,dword ptr [ESP + 0x20]
CALL 0x000360b0
ADD ESI,EAX
MOV EAX,dword ptr [ESP + 0x64]
CMP dword ptr [ESP + 0x74],EAX
JL 0x000724b2
MOV dword ptr [ESP + 0x74],EAX
LEA EAX,[EBP + ESI*0x1]
MOV EDX,dword ptr [ESP + 0x20]
CALL 0x000360b0
MOV ECX,dword ptr [ESP + 0x64]
ADD ESI,EAX
LEA EAX,[ECX + ESI*0x1]
CMP EAX,dword ptr [ESP + 0x10]
JG 0x000724b2
SUB ESP,0xc
LEA EAX,[EBP + ESI*0x1]
PUSH EAX
MOV EDX,dword ptr [ESP + 0x28]
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00069170
ADD ESI,dword ptr [ESP + 0x74]
POP ECX
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x84]
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x28]
CALL 0x00071860
ADD ESP,0x14
MOV EAX,dword ptr [ESP + 0x38]
LEA ECX,[EBP + ESI*0x1]
SUB EAX,ESI
PUSH EAX
MOV EDX,dword ptr [ESP + 0x44]
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00071a60
ADD ESP,0x10
CMP dword ptr [ESP + 0x10],EDI
JLE 0x00072558
MOV EDX,dword ptr [ESP + 0x48]
MOV ECX,EDI
TEST EDX,EDX
JNZ 0x00072558
MOV EDX,dword ptr [ESP + 0x20]
LEA EAX,[EBP + ECX*0x1]
MOV dword ptr [ESP + 0x2c],ECX
CALL 0x000360b0
MOV ECX,dword ptr [ESP + 0x2c]
MOV ESI,dword ptr [ESP + 0x30]
ADD ESI,dword ptr [ESP + 0x64]
LEA EDI,[EAX + ECX*0x1]
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x30],ESI
MOV dword ptr [ESP + 0x2c],EAX
CMP dword ptr [ESP + 0x10],EDI
JLE 0x000723a0
MOV EDX,dword ptr [ESP + 0x20]
LEA EAX,[EBP + EDI*0x1]
MOV dword ptr [ESP + 0x3c],ECX
CALL 0x000360b0
MOV EAX,dword ptr [ESP + 0x64]
MOV ECX,dword ptr [ESP + 0x3c]
ADD EAX,ESI
CMP dword ptr [ESP + 0x28],EAX
MOV dword ptr [ESP + 0x2c],EAX
JGE 0x000723a0
MOV EDI,dword ptr [ESP + 0x34]
MOV dword ptr [ESP + 0x48],0x10b
JMP 0x00071fa2
MOV EAX,ECX
LEA EDX,[ESP + 0x4c]
ADD EAX,EBP
CALL 0x000360b0
ADD EAX,EBP
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [ESP + 0x4c]
JMP 0x00071eb5
MOV dword ptr [ESP + 0x48],0x10b
JMP 0x00071dac
MOV EAX,dword ptr [ESP + 0x28]
LEA EDX,[ESP + 0x54]
ADD EAX,ECX
CALL 0x000360b0
TEST SI,SI
JNZ 0x000722b8
MOV EAX,dword ptr [ESP + 0x54]
TEST EAX,EAX
CMOVZ EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x2c],EAX
JMP 0x000722bf
SUB ESP,0xc
LEA EAX,[EBX + 0xfffae1c3]
MOV ECX,0x7
MOV EDX,EDI
MOV dword ptr [ESP + 0x68],0x0
PUSH EAX
MOV EAX,dword ptr [ESP + 0x1c]
CALL 0x00069170
ADD ESP,0x10
JMP 0x00071dac
MOV EAX,dword ptr [ESP + 0x28]
MOV dword ptr [ESP + 0x2c],EAX
JMP 0x000722bf
MOV EDI,dword ptr [ESP + 0x34]
JMP 0x00071fa2
CALL 0x000f6410
LEA EAX,[ESP + 0x70]
MOV dword ptr [ESP + 0x18],EAX
JMP 0x00071fa2
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000f6410();\n}\n\n" comment (function_definition "void FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000f6410();\n}" primitive_type (function_declarator "FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_000f6410();\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined1 **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar16;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined1 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined1 *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "undefined1 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "undefined1 *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined1 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined1 *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined1 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined1 **local_3c;" type_identifier (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)) ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x71c49;" (assignment_expression "uStack_14 = 0x71c49" identifier = number_literal) ;) (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_64 = (undefined1 *)0x0;" (assignment_expression "local_64 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = FUN_0001d2c0(param_1);" (assignment_expression "iVar4 = FUN_0001d2c0(param_1)" identifier = (call_expression "FUN_0001d2c0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "lVar16 = FUN_0002d350(*param_3);" (assignment_expression "lVar16 = FUN_0002d350(*param_3)" identifier = (call_expression "FUN_0002d350(*param_3)" identifier (argument_list "(*param_3)" ( (pointer_expression "*param_3" * identifier) )))) ;) (expression_statement "uVar8 = (uint)((ulonglong)lVar16 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)lVar16 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar16 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar16 >> 0x20)" ( (binary_expression "(ulonglong)lVar16 >> 0x20" (cast_expression "(ulonglong)lVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "__n = FUN_0004e4c0(param_3[1]);" (assignment_expression "__n = FUN_0004e4c0(param_3[1])" identifier = (call_expression "FUN_0004e4c0(param_3[1])" identifier (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "__src = (void *)FUN_0004e6c0(param_3[1]);" (assignment_expression "__src = (void *)FUN_0004e6c0(param_3[1])" identifier = (cast_expression "(void *)FUN_0004e6c0(param_3[1])" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004e6c0(param_3[1])" identifier (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) ))))) ;) (if_statement "if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }" if (parenthesized_expression "(local_64 == (undefined1 *)0x0)" ( (binary_expression "local_64 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }" { (expression_statement "local_98 = (undefined1 *)FUN_00040980();" (assignment_expression "local_98 = (undefined1 *)FUN_00040980()" identifier = (cast_expression "(undefined1 *)FUN_00040980()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040980()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }" if (parenthesized_expression "(local_98 != (undefined1 *)0x0)" ( (binary_expression "local_98 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }" { (if_statement "if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }" if (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        memcpy(local_98,__src,__n);\n      }" { (expression_statement "memcpy(local_98,__src,__n);" (call_expression "memcpy(local_98,__src,__n)" identifier (argument_list "(local_98,__src,__n)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "uVar5 = (uint)lVar16 & 0x7fffffff;" (assignment_expression "uVar5 = (uint)lVar16 & 0x7fffffff" identifier = (binary_expression "(uint)lVar16 & 0x7fffffff" (cast_expression "(uint)lVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar9 = (int)uVar8 >> 4 & 1;" (assignment_expression "uVar9 = (int)uVar8 >> 4 & 1" identifier = (binary_expression "(int)uVar8 >> 4 & 1" (binary_expression "(int)uVar8 >> 4" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) ;) (expression_statement "uVar6 = (int)uVar8 >> 5 & 0xffff;" (assignment_expression "uVar6 = (int)uVar8 >> 5 & 0xffff" identifier = (binary_expression "(int)uVar8 >> 5 & 0xffff" (binary_expression "(int)uVar8 >> 5" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) ;) (if_statement "if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }" { (if_statement "if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" if (parenthesized_expression "(lVar16 == 1)" ( (binary_expression "lVar16 == 1" identifier == number_literal) )) (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }" { (expression_statement "FUN_00071860(&local_64,&local_54,"{averages} ");" (call_expression "FUN_00071860(&local_64,&local_54,"{averages} ")" identifier (argument_list "(&local_64,&local_54,"{averages} ")" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{averages} "" " string_content ") ))) ;) (if_statement "if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" { (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (if_statement "if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }" if (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = &DAT_000f7177;" (assignment_expression "puVar13 = &DAT_000f7177" identifier = (pointer_expression "&DAT_000f7177" & identifier)) ;) (do_statement "do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);" do (compound_statement "{\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              }" { (expression_statement "uVar8 = FUN_0001bef0();" (assignment_expression "uVar8 = FUN_0001bef0()" identifier = (call_expression "FUN_0001bef0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = iVar4 + (uVar8 & 0xff);" (assignment_expression "iVar4 = iVar4 + (uVar8 & 0xff)" identifier = (binary_expression "iVar4 + (uVar8 & 0xff)" identifier + (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )))) ;) (expression_statement "FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c)" identifier (argument_list "(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (pointer_expression "&DAT_000f73e1" & identifier) , identifier , identifier ))) ;) (expression_statement "puVar13 = &DAT_000fa0a2;" (assignment_expression "puVar13 = &DAT_000fa0a2" identifier = (pointer_expression "&DAT_000fa0a2" & identifier)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) }) while (parenthesized_expression "(iVar4 < (int)__n)" ( (binary_expression "iVar4 < (int)__n" identifier < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) }) (else_clause "else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" else (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" { (expression_statement "FUN_00071860(&local_64,&local_54,"{structure}");" (call_expression "FUN_00071860(&local_64,&local_54,"{structure}")" identifier (argument_list "(&local_64,&local_54,"{structure}")" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{structure}"" " string_content ") ))) ;) (if_statement "if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }" { (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar7 = (undefined1 *)FUN_000409f0(&local_3c);" (assignment_expression "puVar7 = (undefined1 *)FUN_000409f0(&local_3c)" identifier = (cast_expression "(undefined1 *)FUN_000409f0(&local_3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000409f0(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) ))))) ;) (expression_statement "ppuVar3 = local_3c;" (assignment_expression "ppuVar3 = local_3c" identifier = identifier) ;) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }" if (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" ( (binary_expression "puVar7 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }" { (if_statement "if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }" if (parenthesized_expression "(0 < (int)local_3c[4])" ( (binary_expression "0 < (int)local_3c[4]" number_literal < (cast_expression "(int)local_3c[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_3c[4]" identifier [ number_literal ]))) )) (compound_statement "{\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }" { (expression_statement "ppuVar11 = local_3c + 5;" (assignment_expression "ppuVar11 = local_3c + 5" identifier = (binary_expression "local_3c + 5" identifier + number_literal)) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (do_statement "do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);" do (compound_statement "{\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                }" { (expression_statement "FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);" (call_expression "FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1])" identifier (argument_list "(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1])" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" {lvl=%d nMerge=%d nSeg=%d"" " string_content ") , identifier , (pointer_expression "*ppuVar11" * identifier) , (subscript_expression "ppuVar11[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }" if (parenthesized_expression "(0 < (int)ppuVar11[1])" ( (binary_expression "0 < (int)ppuVar11[1]" number_literal < (cast_expression "(int)ppuVar11[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar11[1]" identifier [ number_literal ]))) )) (compound_statement "{\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }" { (do_statement "do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);" do (compound_statement "{\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    }" { (expression_statement "iVar14 = iVar4 + 1;" (assignment_expression "iVar14 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);" (assignment_expression "puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc)" identifier = (cast_expression "(undefined4 *)(ppuVar11[2] + iVar4 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar11[2] + iVar4 * 0xc)" ( (binary_expression "ppuVar11[2] + iVar4 * 0xc" (subscript_expression "ppuVar11[2]" identifier [ number_literal ]) + (binary_expression "iVar4 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);" (call_expression "FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2])" identifier (argument_list "(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2])" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" {id=%d leaves=%d..%d}"" " string_content ") , (pointer_expression "*puVar1" * identifier) , (subscript_expression "puVar1[1]" identifier [ number_literal ]) , (subscript_expression "puVar1[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar4 = iVar14;" (assignment_expression "iVar4 = iVar14" identifier = identifier) ;) }) while (parenthesized_expression "(iVar14 < (int)ppuVar11[1])" ( (binary_expression "iVar14 < (int)ppuVar11[1]" identifier < (cast_expression "(int)ppuVar11[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar11[1]" identifier [ number_literal ]))) )) ;) })) (expression_statement "ppuVar11 = ppuVar11 + 3;" (assignment_expression "ppuVar11 = ppuVar11 + 3" identifier = (binary_expression "ppuVar11 + 3" identifier + number_literal)) ;) (expression_statement "FUN_00071860(&local_64,&local_54,"}");" (call_expression "FUN_00071860(&local_64,&local_54,"}")" identifier (argument_list "(&local_64,&local_54,"}")" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""}"" " string_content ") ))) ;) (expression_statement "local_9c = local_9c + 1;" (assignment_expression "local_9c = local_9c + 1" identifier = (binary_expression "local_9c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_9c < (int)ppuVar3[4])" ( (binary_expression "local_9c < (int)ppuVar3[4]" identifier < (cast_expression "(int)ppuVar3[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar3[4]" identifier [ number_literal ]))) )) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (if_statement "if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;" if (parenthesized_expression "(local_3c == (undefined1 **)0x0)" ( (binary_expression "local_3c == (undefined1 **)0x0" identifier == (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;)) })) (expression_statement "puVar10 = *local_3c;" (assignment_expression "puVar10 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (expression_statement "*local_3c = puVar10 + -1;" (assignment_expression "*local_3c = puVar10 + -1" (pointer_expression "*local_3c" * identifier) = (binary_expression "puVar10 + -1" identifier + number_literal)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (if_statement "if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }" if (parenthesized_expression "((int)(puVar10 + -1) < 1)" ( (binary_expression "(int)(puVar10 + -1) < 1" (cast_expression "(int)(puVar10 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar10 + -1)" ( (binary_expression "puVar10 + -1" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                FUN_000346e0();\n                puVar7 = local_64;\n              }" { (expression_statement "FUN_000346e0();" (call_expression "FUN_000346e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) })) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" else (compound_statement "{\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" { (expression_statement "uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;" (assignment_expression "uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1" identifier = (binary_expression "(uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1" (binary_expression "(uint)lVar16 >> 0x1f" (cast_expression "(uint)lVar16" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(uVar8 & 0xf) << 1" (parenthesized_expression "(uVar8 & 0xf)" ( (binary_expression "uVar8 & 0xf" identifier & number_literal) )) << number_literal))) ;) (if_statement "if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }" { (expression_statement "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);" (call_expression "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5)" identifier (argument_list "(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{%ssegid=%d h=%d pgno=%d}"" " string_content ") , (pointer_expression "&DAT_000f7177" & identifier) , identifier , identifier , identifier ))) ;) (if_statement "if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }" { (expression_statement "local_58 = (undefined1 *)0x0;" (assignment_expression "local_58 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (if_statement "if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }" if (parenthesized_expression "((int)__n < 4)" ( (binary_expression "(int)__n < 4" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "FUN_00069170("corrupt");" (call_expression "FUN_00069170("corrupt")" identifier (argument_list "("corrupt")" ( (string_literal ""corrupt"" " string_content ") ))) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) (expression_statement "uVar2 = CONCAT11(*local_98,local_98[1]);" (assignment_expression "uVar2 = CONCAT11(*local_98,local_98[1])" identifier = (call_expression "CONCAT11(*local_98,local_98[1])" identifier (argument_list "(*local_98,local_98[1])" ( (pointer_expression "*local_98" * identifier) , (subscript_expression "local_98[1]" identifier [ number_literal ]) )))) ;) (expression_statement "local_80 = (undefined1 *)(uint)uVar2;" (assignment_expression "local_80 = (undefined1 *)(uint)uVar2" identifier = (cast_expression "(undefined1 *)(uint)uVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);" (assignment_expression "puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3])" identifier = (cast_expression "(undefined1 *)(uint)CONCAT11(local_98[2],local_98[3])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)CONCAT11(local_98[2],local_98[3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(local_98[2],local_98[3])" identifier (argument_list "(local_98[2],local_98[3])" ( (subscript_expression "local_98[2]" identifier [ number_literal ]) , (subscript_expression "local_98[3]" identifier [ number_literal ]) )))))) ;) (if_statement "if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" if (parenthesized_expression "((int)puVar7 < (int)__n)" ( (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }" { (expression_statement "FUN_000360b0();" (call_expression "FUN_000360b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }" if (parenthesized_expression "((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0))" ( (binary_expression "(uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_80 = local_58, local_58 == (undefined1 *)0x0)" ( (comma_expression "local_80 = local_58, local_58 == (undefined1 *)0x0" (assignment_expression "local_80 = local_58" identifier = identifier) , (binary_expression "local_58 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                local_80 = puVar7;\n              }" { (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) })) (labeled_statement "LAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" statement_identifier : (if_statement "if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" if (parenthesized_expression "((int)local_80 <= (int)__n)" ( (binary_expression "(int)local_80 <= (int)__n" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" { (if_statement "if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }" if (parenthesized_expression "(0 < (int)(local_80 + -4))" ( (binary_expression "0 < (int)(local_80 + -4)" number_literal < (cast_expression "(int)(local_80 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 + -4)" ( (binary_expression "local_80 + -4" identifier + number_literal) )))) )) (compound_statement "{\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));" do (compound_statement "{\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  }" { (expression_statement "iVar14 = FUN_000360b0();" (assignment_expression "iVar14 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = iVar4 + iVar14;" (assignment_expression "iVar4 = iVar4 + iVar14" identifier = (binary_expression "iVar4 + iVar14" identifier + identifier)) ;) (expression_statement "FUN_00071860(&local_64,&local_54," %d",local_48);" (call_expression "FUN_00071860(&local_64,&local_54," %d",local_48)" identifier (argument_list "(&local_64,&local_54," %d",local_48)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" %d"" " string_content ") , identifier ))) ;) }) while (parenthesized_expression "(iVar4 < (int)(local_80 + -4))" ( (binary_expression "iVar4 < (int)(local_80 + -4)" identifier < (cast_expression "(int)(local_80 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 + -4)" ( (binary_expression "local_80 + -4" identifier + number_literal) )))) )) ;) })) (expression_statement "puVar10 = local_58;" (assignment_expression "puVar10 = local_58" identifier = identifier) ;) (if_statement "if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }" if (parenthesized_expression "(local_58 == (undefined1 *)0x0)" ( (binary_expression "local_58 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar10 = puVar7;\n                }" { (expression_statement "puVar10 = puVar7;" (assignment_expression "puVar10 = puVar7" identifier = identifier) ;) })) (if_statement "if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }" if (parenthesized_expression "((int)puVar10 <= (int)__n)" ( (binary_expression "(int)puVar10 <= (int)__n" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }" { (expression_statement "FUN_00071a60((int)puVar10 - (int)local_80);" (call_expression "FUN_00071a60((int)puVar10 - (int)local_80)" identifier (argument_list "((int)puVar10 - (int)local_80)" ( (binary_expression "(int)puVar10 - (int)local_80" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }" if (parenthesized_expression "(((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0))" ( (binary_expression "((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)" (parenthesized_expression "((int)puVar7 < (int)__n)" ( (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)" ( (comma_expression "local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0" (assignment_expression "local_7c = local_64" identifier = identifier) , (comma_expression "puVar10 = puVar7, local_64 == (undefined1 *)0x0" (assignment_expression "puVar10 = puVar7" identifier = identifier) , (binary_expression "local_64 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }" { (while_statement "while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_7c = local_7c + (int)local_48;" (assignment_expression "local_7c = local_7c + (int)local_48" identifier = (binary_expression "local_7c + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar12 = puVar10 + iVar4;" (assignment_expression "puVar12 = puVar10 + iVar4" identifier = (binary_expression "puVar10 + iVar4" identifier + identifier)) ;) (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) (if_statement "if ((int)puVar12 < (int)__n) break;" if (parenthesized_expression "((int)puVar12 < (int)__n)" ( (binary_expression "(int)puVar12 < (int)__n" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000723a0:\n                      puVar15 = local_7c;" statement_identifier : (expression_statement "puVar15 = local_7c;" (assignment_expression "puVar15 = local_7c" identifier = identifier) ;)) (if_statement "if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }" if (parenthesized_expression "(puVar7 != puVar10)" ( (binary_expression "puVar7 != puVar10" identifier != identifier) )) (compound_statement "{\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = local_7c + iVar4;" (assignment_expression "puVar15 = local_7c + iVar4" identifier = (binary_expression "local_7c + iVar4" identifier + identifier)) ;) (if_statement "if ((int)local_38 < (int)local_48) goto LAB_000724b2;" if (parenthesized_expression "((int)local_38 < (int)local_48)" ( (binary_expression "(int)local_38 < (int)local_48" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000724b2;" goto statement_identifier ;)) (expression_statement "local_38 = local_48;" (assignment_expression "local_38 = local_48" identifier = identifier) ;) })) (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = puVar15 + iVar4;" (assignment_expression "puVar15 = puVar15 + iVar4" identifier = (binary_expression "puVar15 + iVar4" identifier + identifier)) ;) (if_statement "if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;" if (parenthesized_expression "((int)__n < (int)(local_48 + (int)puVar15))" ( (binary_expression "(int)__n < (int)(local_48 + (int)puVar15)" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_48 + (int)puVar15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_48 + (int)puVar15)" ( (binary_expression "local_48 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_000724b2;" goto statement_identifier ;)) (expression_statement "FUN_00069170(local_98 + (int)puVar15);" (call_expression "FUN_00069170(local_98 + (int)puVar15)" identifier (argument_list "(local_98 + (int)puVar15)" ( (binary_expression "local_98 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "puVar15 = puVar15 + (int)local_48;" (assignment_expression "puVar15 = puVar15 + (int)local_48" identifier = (binary_expression "puVar15 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c)" identifier (argument_list "(&local_64,&local_54," term=%.*s",local_38,local_3c)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" term=%.*s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "FUN_00071a60((int)local_80 - (int)puVar15);" (call_expression "FUN_00071a60((int)local_80 - (int)puVar15)" identifier (argument_list "((int)local_80 - (int)puVar15)" ( (binary_expression "(int)local_80 - (int)puVar15" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;" if (parenthesized_expression "(((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0))" ( (binary_expression "((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)" (parenthesized_expression "((int)__n <= (int)puVar12)" ( (binary_expression "(int)__n <= (int)puVar12" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(puVar10 = puVar12, local_64 != (undefined1 *)0x0)" ( (comma_expression "puVar10 = puVar12, local_64 != (undefined1 *)0x0" (assignment_expression "puVar10 = puVar12" identifier = identifier) , (binary_expression "local_64 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00071fa2;" goto statement_identifier ;)) })) (expression_statement "FUN_000360b0();" (call_expression "FUN_000360b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_80 = local_48 + (int)local_7c;" (assignment_expression "local_80 = local_48 + (int)local_7c" identifier = (binary_expression "local_48 + (int)local_7c" identifier + (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;" if (parenthesized_expression "((int)local_80 <= (int)puVar7)" ( (binary_expression "(int)local_80 <= (int)puVar7" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000723a0;" goto statement_identifier ;)) (labeled_statement "LAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;" statement_identifier : (expression_statement "local_64 = (undefined1 *)0x10b;" (assignment_expression "local_64 = (undefined1 *)0x10b" identifier = (cast_expression "(undefined1 *)0x10b" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (goto_statement "goto LAB_00071fa2;" goto statement_identifier ;) })) }))) }) (else_clause "else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" else (if_statement "if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" if (parenthesized_expression "((int)puVar7 <= (int)__n)" ( (binary_expression "(int)puVar7 <= (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" { (if_statement "if (uVar2 == 0) {\n                local_80 = puVar7;\n              }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                local_80 = puVar7;\n              }" { (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) })) (goto_statement "goto LAB_000722bf;" goto statement_identifier ;) })))) (expression_statement "local_64 = (undefined1 *)0x10b;" (assignment_expression "local_64 = (undefined1 *)0x10b" identifier = (cast_expression "(undefined1 *)0x10b" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) }) (else_clause "else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" else (compound_statement "{\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" { (expression_statement "local_5c = (undefined1 *)0x0;" (assignment_expression "local_5c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);" (assignment_expression "puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" identifier = (cast_expression "(undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" ( (binary_expression "(uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff" (binary_expression "(uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100" (cast_expression "(uint)(byte)local_98[3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)local_98[3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_98[3]" identifier [ number_literal ]))) + (binary_expression "(uint)(byte)local_98[2] * 0x100" (cast_expression "(uint)(byte)local_98[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)local_98[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_98[2]" identifier [ number_literal ]))) * number_literal)) & number_literal) )))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_84 = puVar10;" (assignment_expression "local_84 = puVar10" identifier = identifier) ;) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" identifier = identifier) ;) (if_statement "if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }" if (parenthesized_expression "((int)puVar10 < (int)__n)" ( (binary_expression "(int)puVar10 < (int)__n" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_84 = puVar10 + iVar4;" (assignment_expression "local_84 = puVar10 + iVar4" identifier = (binary_expression "puVar10 + iVar4" identifier + identifier)) ;) (expression_statement "puVar7 = local_60;" (assignment_expression "puVar7 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = puVar7;" (assignment_expression "local_60 = puVar7" identifier = identifier) ;) (expression_statement "FUN_000718e0(local_60 + -4);" (call_expression "FUN_000718e0(local_60 + -4)" identifier (argument_list "(local_60 + -4)" ( (binary_expression "local_60 + -4" identifier + number_literal) ))) ;) (for_statement "for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }" for ( (assignment_expression "puVar7 = local_60" identifier = identifier) ; (binary_expression "(int)puVar7 < (int)puVar10" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ; (assignment_expression "puVar7 = puVar7 + iVar4" identifier = (binary_expression "puVar7 + iVar4" identifier + identifier)) ) (compound_statement "{\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_38 = local_5c;" (assignment_expression "local_38 = local_5c" identifier = identifier) ;) (expression_statement "FUN_00069170(local_98 + (int)(puVar7 + iVar4));" (call_expression "FUN_00069170(local_98 + (int)(puVar7 + iVar4))" identifier (argument_list "(local_98 + (int)(puVar7 + iVar4))" ( (binary_expression "local_98 + (int)(puVar7 + iVar4)" identifier + (cast_expression "(int)(puVar7 + iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar7 + iVar4)" ( (binary_expression "puVar7 + iVar4" identifier + identifier) )))) ))) ;) (expression_statement "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c)" identifier (argument_list "(&local_64,&local_54," term=%.*s",local_38,local_3c)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" term=%.*s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar12 = puVar7 + iVar4 + (int)local_58;" (assignment_expression "puVar12 = puVar7 + iVar4 + (int)local_58" identifier = (binary_expression "puVar7 + iVar4 + (int)local_58" (binary_expression "puVar7 + iVar4" identifier + identifier) + (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" identifier = identifier) ;) (if_statement "if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }" if (parenthesized_expression "((int)local_84 < (int)__n)" ( (binary_expression "(int)local_84 < (int)__n" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_84 = local_84 + iVar4;" (assignment_expression "local_84 = local_84 + iVar4" identifier = (binary_expression "local_84 + iVar4" identifier + identifier)) ;) (expression_statement "puVar7 = local_48 + (int)local_60;" (assignment_expression "puVar7 = local_48 + (int)local_60" identifier = (binary_expression "local_48 + (int)local_60" identifier + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "local_60 = puVar7;" (assignment_expression "local_60 = puVar7" identifier = identifier) ;) (expression_statement "FUN_000718e0((int)puVar7 - (int)puVar12);" (call_expression "FUN_000718e0((int)puVar7 - (int)puVar12)" identifier (argument_list "((int)puVar7 - (int)puVar12)" ( (binary_expression "(int)puVar7 - (int)puVar12" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "puVar7 = local_60;" (assignment_expression "puVar7 = local_60" identifier = identifier) ;) (if_statement "if ((int)puVar10 <= (int)local_60) break;" if (parenthesized_expression "((int)puVar10 <= (int)local_60)" ( (binary_expression "(int)puVar10 <= (int)local_60" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) })) (labeled_statement "LAB_00071fa2:\n            FUN_00027e40();" statement_identifier : (expression_statement "FUN_00027e40();" (call_expression "FUN_00027e40()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) }))) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) (expression_statement "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);" (call_expression "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5)" identifier (argument_list "(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{%ssegid=%d h=%d pgno=%d}"" " string_content ") , (string_literal ""dlidx "" " string_content ") , identifier , identifier , identifier ))) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);" do (compound_statement "{\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      }" { (expression_statement "*(undefined4 *)((int)&local_38 + uVar8) = 0;" (assignment_expression "*(undefined4 *)((int)&local_38 + uVar8) = 0" (pointer_expression "*(undefined4 *)((int)&local_38 + uVar8)" * (cast_expression "(undefined4 *)((int)&local_38 + uVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_38 + uVar8)" ( (binary_expression "(int)&local_38 + uVar8" (cast_expression "(int)&local_38" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_38" & identifier)) + identifier) )))) = number_literal) ;) (expression_statement "uVar8 = uVar8 + 4;" (assignment_expression "uVar8 = uVar8 + 4" identifier = (binary_expression "uVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 < 0x18)" ( (binary_expression "uVar8 < 0x18" identifier < number_literal) )) ;) (expression_statement "local_3c = &local_48;" (assignment_expression "local_3c = &local_48" identifier = (pointer_expression "&local_48" & identifier)) ;) (expression_statement "local_48 = local_98;" (assignment_expression "local_48 = local_98" identifier = identifier) ;) (expression_statement "local_44 = __n;" (assignment_expression "local_44 = __n" identifier = identifier) ;) (expression_statement "local_2c = uVar5;" (assignment_expression "local_2c = uVar5" identifier = identifier) ;) (expression_statement "FUN_00036530();" (call_expression "FUN_00036530()" identifier (argument_list "()" ( ))) ;) (while_statement "while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }" while (parenthesized_expression "(puVar7 = local_64, local_34 == 0)" ( (comma_expression "puVar7 = local_64, local_34 == 0" (assignment_expression "puVar7 = local_64" identifier = identifier) , (binary_expression "local_34 == 0" identifier == number_literal)) )) (compound_statement "{\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }" { (expression_statement "FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);" (call_expression "FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24)" identifier (argument_list "(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" %d(%lld)"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "FUN_00036530();" (call_expression "FUN_00036530()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) })) (expression_statement "local_98 = (undefined1 *)0x0;" (assignment_expression "local_98 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (labeled_statement "LAB_00071dac:\n  local_64 = puVar7;" statement_identifier : (expression_statement "local_64 = puVar7;" (assignment_expression "local_64 = puVar7" identifier = identifier) ;)) (expression_statement "FUN_000264d0(local_98);" (call_expression "FUN_000264d0(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (if_statement "if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }" if (parenthesized_expression "(local_64 == (undefined1 *)0x0)" ( (binary_expression "local_64 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }" { (expression_statement "FUN_00047c90(param_1,local_54,local_50,0xffffffff);" (call_expression "FUN_00047c90(param_1,local_54,local_50,0xffffffff)" identifier (argument_list "(param_1,local_54,local_50,0xffffffff)" ( identifier , identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n    FUN_000475e0(param_1,local_64);\n  }" else (compound_statement "{\n    FUN_000475e0(param_1,local_64);\n  }" { (expression_statement "FUN_000475e0(param_1,local_64);" (call_expression "FUN_000475e0(param_1,local_64)" identifier (argument_list "(param_1,local_64)" ( identifier , identifier ))) ;) }))) (expression_statement "FUN_00027e40();" (call_expression "FUN_00027e40()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\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    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_000f6410();" (call_expression "FUN_000f6410()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Unknown calling convention */\n\nvoid fts5DecodeFunction(sqlite3_context *pCtx,int nArg,sqlite3_value **apVal)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  ushort uVar3;\n  Fts5Data *pFVar4;\n  byte bVar5;\n  void *pvVar6;\n  size_t __n;\n  void *__src;\n  u8 *puVar7;\n  uint uVar8;\n  u8 *puVar9;\n  uchar *p;\n  uint uVar10;\n  u8 *puVar11;\n  int *piVar12;\n  Fts5Buffer *pBuf;\n  undefined *puVar13;\n  int iVar14;\n  u8 *puVar15;\n  int in_GS_OFFSET;\n  sqlite_int64 sVar16;\n  int iVar17;\n  int nData;\n  sqlite3_int64 in_stack_ffffff54;\n  int local_9c;\n  u8 *local_98;\n  Fts5DlidxLvl *local_94;\n  uint local_90;\n  u8 *local_84;\n  u8 *local_80;\n  u8 *local_7c;\n  int rc;\n  int iTermOff;\n  int nKeep;\n  int nAppend;\n  Fts5Buffer s;\n  Fts5Data dlidx;\n  Fts5DlidxLvl lvl;\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  rc = 0;\n  pvVar6 = sqlite3_user_data(pCtx);\n  s.p = (u8 *)0x0;\n  s.n = 0;\n  s.nSpace = 0;\n  sVar16 = sqlite3_value_int64(*apVal);\n  __n = sqlite3_value_bytes(apVal[1]);\n  __src = sqlite3_value_blob(apVal[1]);\n  if (rc == 0) {\n    iVar17 = 0x71cf2;\n    local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);\n    if (local_98 != (u8 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (u8 *)0x0;\n  iVar17 = rc;\nLAB_00071dac:\n  rc = iVar17;\n  sqlite3_free(local_98);\n  if (rc == 0) {\n    sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);\n  }\n  else {\n    sqlite3_result_error_code(pCtx,rc);\n  }\n  sqlite3Fts5BufferFree(&s);\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment comment (function_definition "void fts5DecodeFunction(sqlite3_context *pCtx,int nArg,sqlite3_value **apVal)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  ushort uVar3;\n  Fts5Data *pFVar4;\n  byte bVar5;\n  void *pvVar6;\n  size_t __n;\n  void *__src;\n  u8 *puVar7;\n  uint uVar8;\n  u8 *puVar9;\n  uchar *p;\n  uint uVar10;\n  u8 *puVar11;\n  int *piVar12;\n  Fts5Buffer *pBuf;\n  undefined *puVar13;\n  int iVar14;\n  u8 *puVar15;\n  int in_GS_OFFSET;\n  sqlite_int64 sVar16;\n  int iVar17;\n  int nData;\n  sqlite3_int64 in_stack_ffffff54;\n  int local_9c;\n  u8 *local_98;\n  Fts5DlidxLvl *local_94;\n  uint local_90;\n  u8 *local_84;\n  u8 *local_80;\n  u8 *local_7c;\n  int rc;\n  int iTermOff;\n  int nKeep;\n  int nAppend;\n  Fts5Buffer s;\n  Fts5Data dlidx;\n  Fts5DlidxLvl lvl;\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  rc = 0;\n  pvVar6 = sqlite3_user_data(pCtx);\n  s.p = (u8 *)0x0;\n  s.n = 0;\n  s.nSpace = 0;\n  sVar16 = sqlite3_value_int64(*apVal);\n  __n = sqlite3_value_bytes(apVal[1]);\n  __src = sqlite3_value_blob(apVal[1]);\n  if (rc == 0) {\n    iVar17 = 0x71cf2;\n    local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);\n    if (local_98 != (u8 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (u8 *)0x0;\n  iVar17 = rc;\nLAB_00071dac:\n  rc = iVar17;\n  sqlite3_free(local_98);\n  if (rc == 0) {\n    sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);\n  }\n  else {\n    sqlite3_result_error_code(pCtx,rc);\n  }\n  sqlite3Fts5BufferFree(&s);\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (function_declarator "fts5DecodeFunction(sqlite3_context *pCtx,int nArg,sqlite3_value **apVal)" identifier (parameter_list "(sqlite3_context *pCtx,int nArg,sqlite3_value **apVal)" ( (parameter_declaration "sqlite3_context *pCtx" type_identifier (pointer_declarator "*pCtx" * identifier)) , (parameter_declaration "int nArg" primitive_type identifier) , (parameter_declaration "sqlite3_value **apVal" type_identifier (pointer_declarator "**apVal" * (pointer_declarator "*apVal" * identifier))) ))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  ushort uVar3;\n  Fts5Data *pFVar4;\n  byte bVar5;\n  void *pvVar6;\n  size_t __n;\n  void *__src;\n  u8 *puVar7;\n  uint uVar8;\n  u8 *puVar9;\n  uchar *p;\n  uint uVar10;\n  u8 *puVar11;\n  int *piVar12;\n  Fts5Buffer *pBuf;\n  undefined *puVar13;\n  int iVar14;\n  u8 *puVar15;\n  int in_GS_OFFSET;\n  sqlite_int64 sVar16;\n  int iVar17;\n  int nData;\n  sqlite3_int64 in_stack_ffffff54;\n  int local_9c;\n  u8 *local_98;\n  Fts5DlidxLvl *local_94;\n  uint local_90;\n  u8 *local_84;\n  u8 *local_80;\n  u8 *local_7c;\n  int rc;\n  int iTermOff;\n  int nKeep;\n  int nAppend;\n  Fts5Buffer s;\n  Fts5Data dlidx;\n  Fts5DlidxLvl lvl;\n  \n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  rc = 0;\n  pvVar6 = sqlite3_user_data(pCtx);\n  s.p = (u8 *)0x0;\n  s.n = 0;\n  s.nSpace = 0;\n  sVar16 = sqlite3_value_int64(*apVal);\n  __n = sqlite3_value_bytes(apVal[1]);\n  __src = sqlite3_value_blob(apVal[1]);\n  if (rc == 0) {\n    iVar17 = 0x71cf2;\n    local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);\n    if (local_98 != (u8 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (u8 *)0x0;\n  iVar17 = rc;\nLAB_00071dac:\n  rc = iVar17;\n  sqlite3_free(local_98);\n  if (rc == 0) {\n    sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);\n  }\n  else {\n    sqlite3_result_error_code(pCtx,rc);\n  }\n  sqlite3Fts5BufferFree(&s);\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "ushort uVar3;" type_identifier identifier ;) (declaration "Fts5Data *pFVar4;" type_identifier (pointer_declarator "*pFVar4" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "void *pvVar6;" primitive_type (pointer_declarator "*pvVar6" * identifier) ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "u8 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "u8 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uchar *p;" type_identifier (pointer_declarator "*p" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "u8 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int *piVar12;" primitive_type (pointer_declarator "*piVar12" * identifier) ;) (declaration "Fts5Buffer *pBuf;" type_identifier (pointer_declarator "*pBuf" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "u8 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "sqlite_int64 sVar16;" type_identifier identifier ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int nData;" primitive_type identifier ;) (declaration "sqlite3_int64 in_stack_ffffff54;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "u8 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "Fts5DlidxLvl *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "uint local_90;" type_identifier identifier ;) (declaration "u8 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "u8 *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "u8 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "int rc;" primitive_type identifier ;) (declaration "int iTermOff;" primitive_type identifier ;) (declaration "int nKeep;" primitive_type identifier ;) (declaration "int nAppend;" primitive_type identifier ;) (declaration "Fts5Buffer s;" type_identifier identifier ;) (declaration "Fts5Data dlidx;" type_identifier identifier ;) (declaration "Fts5DlidxLvl lvl;" type_identifier identifier ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(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 "rc = 0;" (assignment_expression "rc = 0" identifier = number_literal) ;) (expression_statement "pvVar6 = sqlite3_user_data(pCtx);" (assignment_expression "pvVar6 = sqlite3_user_data(pCtx)" identifier = (call_expression "sqlite3_user_data(pCtx)" identifier (argument_list "(pCtx)" ( identifier )))) ;) (expression_statement "s.p = (u8 *)0x0;" (assignment_expression "s.p = (u8 *)0x0" (field_expression "s.p" identifier . field_identifier) = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "s.n = 0;" (assignment_expression "s.n = 0" (field_expression "s.n" identifier . field_identifier) = number_literal) ;) (expression_statement "s.nSpace = 0;" (assignment_expression "s.nSpace = 0" (field_expression "s.nSpace" identifier . field_identifier) = number_literal) ;) (expression_statement "sVar16 = sqlite3_value_int64(*apVal);" (assignment_expression "sVar16 = sqlite3_value_int64(*apVal)" identifier = (call_expression "sqlite3_value_int64(*apVal)" identifier (argument_list "(*apVal)" ( (pointer_expression "*apVal" * identifier) )))) ;) (expression_statement "__n = sqlite3_value_bytes(apVal[1]);" (assignment_expression "__n = sqlite3_value_bytes(apVal[1])" identifier = (call_expression "sqlite3_value_bytes(apVal[1])" identifier (argument_list "(apVal[1])" ( (subscript_expression "apVal[1]" identifier [ number_literal ]) )))) ;) (expression_statement "__src = sqlite3_value_blob(apVal[1]);" (assignment_expression "__src = sqlite3_value_blob(apVal[1])" identifier = (call_expression "sqlite3_value_blob(apVal[1])" identifier (argument_list "(apVal[1])" ( (subscript_expression "apVal[1]" identifier [ number_literal ]) )))) ;) (if_statement "if (rc == 0) {\n    iVar17 = 0x71cf2;\n    local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);\n    if (local_98 != (u8 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }\n  }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n    iVar17 = 0x71cf2;\n    local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);\n    if (local_98 != (u8 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }\n  }" { (expression_statement "iVar17 = 0x71cf2;" (assignment_expression "iVar17 = 0x71cf2" identifier = number_literal) ;) (expression_statement "local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54);" (assignment_expression "local_98 = (u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54)" identifier = (cast_expression "(u8 *)sqlite3Fts5MallocZero(&rc,in_stack_ffffff54)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Fts5MallocZero(&rc,in_stack_ffffff54)" identifier (argument_list "(&rc,in_stack_ffffff54)" ( (pointer_expression "&rc" & identifier) , identifier ))))) ;) (if_statement "if (local_98 != (u8 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }" if (parenthesized_expression "(local_98 != (u8 *)0x0)" ( (binary_expression "local_98 != (u8 *)0x0" identifier != (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      local_94 = (Fts5DlidxLvl *)sVar16;\n      local_90 = (uint)((ulonglong)sVar16 >> 0x20);\n      puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);\n      uVar10 = (int)local_90 >> 4 & 1;\n      uVar8 = (int)local_90 >> 5 & 0xffff;\n      if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      lvl.pData = &dlidx;\n      dlidx.p = local_98;\n      dlidx.nn = __n;\n      lvl.iLeafPgno = (int)puVar7;\n      fts5DlidxLvlNext(&lvl);\n      while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }\n      goto LAB_00071dac;\n    }" { (if_statement "if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }" if (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        memcpy(local_98,__src,__n);\n      }" { (expression_statement "memcpy(local_98,__src,__n);" (call_expression "memcpy(local_98,__src,__n)" identifier (argument_list "(local_98,__src,__n)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "local_94 = (Fts5DlidxLvl *)sVar16;" (assignment_expression "local_94 = (Fts5DlidxLvl *)sVar16" identifier = (cast_expression "(Fts5DlidxLvl *)sVar16" ( (type_descriptor "Fts5DlidxLvl *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "local_90 = (uint)((ulonglong)sVar16 >> 0x20);" (assignment_expression "local_90 = (uint)((ulonglong)sVar16 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)sVar16 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)sVar16 >> 0x20)" ( (binary_expression "(ulonglong)sVar16 >> 0x20" (cast_expression "(ulonglong)sVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "puVar7 = (u8 *)((uint)local_94 & 0x7fffffff);" (assignment_expression "puVar7 = (u8 *)((uint)local_94 & 0x7fffffff)" identifier = (cast_expression "(u8 *)((uint)local_94 & 0x7fffffff)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_94 & 0x7fffffff)" ( (binary_expression "(uint)local_94 & 0x7fffffff" (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )))) ;) (expression_statement "uVar10 = (int)local_90 >> 4 & 1;" (assignment_expression "uVar10 = (int)local_90 >> 4 & 1" identifier = (binary_expression "(int)local_90 >> 4 & 1" (binary_expression "(int)local_90 >> 4" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) ;) (expression_statement "uVar8 = (int)local_90 >> 5 & 0xffff;" (assignment_expression "uVar8 = (int)local_90 >> 5 & 0xffff" identifier = (binary_expression "(int)local_90 >> 5 & 0xffff" (binary_expression "(int)local_90 >> 5" (cast_expression "(int)local_90" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) ;) (if_statement "if (uVar8 == 0) {\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }" if (parenthesized_expression "(uVar8 == 0)" ( (binary_expression "uVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }" { (if_statement "if (local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" if (parenthesized_expression "(local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1)" ( (binary_expression "local_90 == 0 && local_94 == (Fts5DlidxLvl *)0x1" (binary_expression "local_90 == 0" identifier == number_literal) && (binary_expression "local_94 == (Fts5DlidxLvl *)0x1" identifier == (cast_expression "(Fts5DlidxLvl *)0x1" ( (type_descriptor "Fts5DlidxLvl *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )) (compound_statement "{\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");\n          if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }" { (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ");" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{averages} ")" identifier (argument_list "(&rc,&s,"{averages} ")" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal ""{averages} "" " string_content ") ))) ;) (if_statement "if (uVar10 == 0) {\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar17 = rc;\n            if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" { (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) (if_statement "if (0 < (int)__n) {\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }" if (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar14 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);\n            }" { (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = &DAT_000f7177;" (assignment_expression "puVar13 = &DAT_000f7177" identifier = (pointer_expression "&DAT_000f7177" & identifier)) ;) (do_statement "do {\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              } while (iVar14 < (int)__n);" do (compound_statement "{\n                bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);\n                iVar14 = iVar14 + (uint)bVar5;\n                sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);\n                puVar13 = &DAT_000fa0a2;\n                iVar17 = rc;\n              }" { (expression_statement "bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl);" (assignment_expression "bVar5 = sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl)" identifier = (call_expression "sqlite3GetVarint(local_98 + iVar14,(u64 *)&lvl)" identifier (argument_list "(local_98 + iVar14,(u64 *)&lvl)" ( (binary_expression "local_98 + iVar14" identifier + identifier) , (cast_expression "(u64 *)&lvl" ( (type_descriptor "u64 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&lvl" & identifier)) )))) ;) (expression_statement "iVar14 = iVar14 + (uint)bVar5;" (assignment_expression "iVar14 = iVar14 + (uint)bVar5" identifier = (binary_expression "iVar14 + (uint)bVar5" identifier + (cast_expression "(uint)bVar5" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData);" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s,"%s%d",puVar13,lvl.pData)" identifier (argument_list "(&rc,&s,"%s%d",puVar13,lvl.pData)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal ""%s%d"" " string_content ") , identifier , (field_expression "lvl.pData" identifier . field_identifier) ))) ;) (expression_statement "puVar13 = &DAT_000fa0a2;" (assignment_expression "puVar13 = &DAT_000fa0a2" identifier = (pointer_expression "&DAT_000fa0a2" & identifier)) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) }) while (parenthesized_expression "(iVar14 < (int)__n)" ( (binary_expression "iVar14 < (int)__n" identifier < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) }) (else_clause "else {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" else (compound_statement "{\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");\n          if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" { (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}");" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{structure}")" identifier (argument_list "(&rc,&s,"{structure}")" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal ""{structure}"" " string_content ") ))) ;) (if_statement "if (uVar10 == 0) {\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n            lvl.pData = (Fts5Data *)0x0;\n            iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);\n            pFVar4 = lvl.pData;\n            if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }\n            goto LAB_00071dac;\n          }" { (expression_statement "lvl.pData = (Fts5Data *)0x0;" (assignment_expression "lvl.pData = (Fts5Data *)0x0" (field_expression "lvl.pData" identifier . field_identifier) = (cast_expression "(Fts5Data *)0x0" ( (type_descriptor "Fts5Data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl);" (assignment_expression "iVar17 = fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl)" identifier = (call_expression "fts5StructureDecode(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl)" identifier (argument_list "(local_98,__n,(int *)0x0,(Fts5Structure **)&lvl)" ( identifier , identifier , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(Fts5Structure **)&lvl" ( (type_descriptor "Fts5Structure **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&lvl" & identifier)) )))) ;) (expression_statement "pFVar4 = lvl.pData;" (assignment_expression "pFVar4 = lvl.pData" identifier = (field_expression "lvl.pData" identifier . field_identifier)) ;) (if_statement "if (iVar17 == 0) {\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }" if (parenthesized_expression "(iVar17 == 0)" ( (binary_expression "iVar17 == 0" identifier == number_literal) )) (compound_statement "{\n              if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }\n              puVar7 = (lvl.pData)->p;\n              (lvl.pData)->p = puVar7 + -1;\n              iVar17 = rc;\n              if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }\n            }" { (if_statement "if (0 < lvl.pData[1].nn) {\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }" if (parenthesized_expression "(0 < lvl.pData[1].nn)" ( (binary_expression "0 < lvl.pData[1].nn" number_literal < (field_expression "lvl.pData[1].nn" (subscript_expression "lvl.pData[1]" (field_expression "lvl.pData" identifier . field_identifier) [ number_literal ]) . field_identifier)) )) (compound_statement "{\n                piVar12 = &lvl.pData[1].szLeaf;\n                local_9c = 0;\n                do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);\n                iVar17 = rc;\n                if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;\n              }" { (expression_statement "piVar12 = &lvl.pData[1].szLeaf;" (assignment_expression "piVar12 = &lvl.pData[1].szLeaf" identifier = (pointer_expression "&lvl.pData[1].szLeaf" & (field_expression "lvl.pData[1].szLeaf" (subscript_expression "lvl.pData[1]" (field_expression "lvl.pData" identifier . field_identifier) [ number_literal ]) . field_identifier))) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (do_statement "do {\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < pFVar4[1].nn);" do (compound_statement "{\n                  sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);\n                  iVar17 = 0;\n                  if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }\n                  piVar12 = piVar12 + 3;\n                  sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");\n                  local_9c = local_9c + 1;\n                }" { (expression_statement "sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1]);" (call_expression "sqlite3Fts5BufferAppendPrintf\n                            (&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1])" identifier (argument_list "(&rc,&s," {lvl=%d nMerge=%d nSeg=%d",local_9c,*piVar12,piVar12[1])" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal "" {lvl=%d nMerge=%d nSeg=%d"" " string_content ") , identifier , (pointer_expression "*piVar12" * identifier) , (subscript_expression "piVar12[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (if_statement "if (0 < piVar12[1]) {\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }" if (parenthesized_expression "(0 < piVar12[1])" ( (binary_expression "0 < piVar12[1]" number_literal < (subscript_expression "piVar12[1]" identifier [ number_literal ])) )) (compound_statement "{\n                    do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);\n                  }" { (do_statement "do {\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    } while (iVar14 < piVar12[1]);" do (compound_statement "{\n                      iVar14 = iVar17 + 1;\n                      puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);\n                      sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);\n                      iVar17 = iVar14;\n                    }" { (expression_statement "iVar14 = iVar17 + 1;" (assignment_expression "iVar14 = iVar17 + 1" identifier = (binary_expression "iVar17 + 1" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc);" (assignment_expression "puVar1 = (undefined4 *)(piVar12[2] + iVar17 * 0xc)" identifier = (cast_expression "(undefined4 *)(piVar12[2] + iVar17 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar12[2] + iVar17 * 0xc)" ( (binary_expression "piVar12[2] + iVar17 * 0xc" (subscript_expression "piVar12[2]" identifier [ number_literal ]) + (binary_expression "iVar17 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);" (call_expression "sqlite3Fts5BufferAppendPrintf\n                                (&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2])" identifier (argument_list "(&rc,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2])" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal "" {id=%d leaves=%d..%d}"" " string_content ") , (pointer_expression "*puVar1" * identifier) , (subscript_expression "puVar1[1]" identifier [ number_literal ]) , (subscript_expression "puVar1[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar17 = iVar14;" (assignment_expression "iVar17 = iVar14" identifier = identifier) ;) }) while (parenthesized_expression "(iVar14 < piVar12[1])" ( (binary_expression "iVar14 < piVar12[1]" identifier < (subscript_expression "piVar12[1]" identifier [ number_literal ])) )) ;) })) (expression_statement "piVar12 = piVar12 + 3;" (assignment_expression "piVar12 = piVar12 + 3" identifier = (binary_expression "piVar12 + 3" identifier + number_literal)) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s,"}");" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s,"}")" identifier (argument_list "(&rc,&s,"}")" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal ""}"" " string_content ") ))) ;) (expression_statement "local_9c = local_9c + 1;" (assignment_expression "local_9c = local_9c + 1" identifier = (binary_expression "local_9c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_9c < pFVar4[1].nn)" ( (binary_expression "local_9c < pFVar4[1].nn" identifier < (field_expression "pFVar4[1].nn" (subscript_expression "pFVar4[1]" identifier [ number_literal ]) . field_identifier)) )) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) (if_statement "if (lvl.pData == (Fts5Data *)0x0) goto LAB_00071dac;" if (parenthesized_expression "(lvl.pData == (Fts5Data *)0x0)" ( (binary_expression "lvl.pData == (Fts5Data *)0x0" (field_expression "lvl.pData" identifier . field_identifier) == (cast_expression "(Fts5Data *)0x0" ( (type_descriptor "Fts5Data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;)) })) (expression_statement "puVar7 = (lvl.pData)->p;" (assignment_expression "puVar7 = (lvl.pData)->p" identifier = (field_expression "(lvl.pData)->p" (parenthesized_expression "(lvl.pData)" ( (field_expression "lvl.pData" identifier . field_identifier) )) -> field_identifier)) ;) (expression_statement "(lvl.pData)->p = puVar7 + -1;" (assignment_expression "(lvl.pData)->p = puVar7 + -1" (field_expression "(lvl.pData)->p" (parenthesized_expression "(lvl.pData)" ( (field_expression "lvl.pData" identifier . field_identifier) )) -> field_identifier) = (binary_expression "puVar7 + -1" identifier + number_literal)) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) (if_statement "if ((int)(puVar7 + -1) < 1) {\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }" if (parenthesized_expression "((int)(puVar7 + -1) < 1)" ( (binary_expression "(int)(puVar7 + -1) < 1" (cast_expression "(int)(puVar7 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar7 + -1)" ( (binary_expression "puVar7 + -1" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                fts5StructureRelease((Fts5Structure *)lvl.pData);\n                iVar17 = rc;\n              }" { (expression_statement "fts5StructureRelease((Fts5Structure *)lvl.pData);" (call_expression "fts5StructureRelease((Fts5Structure *)lvl.pData)" identifier (argument_list "((Fts5Structure *)lvl.pData)" ( (cast_expression "(Fts5Structure *)lvl.pData" ( (type_descriptor "Fts5Structure *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "lvl.pData" identifier . field_identifier)) ))) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) })) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }" else (compound_statement "{\n        pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);\n        if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }\n        sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;\n      }" { (expression_statement "pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1);" (assignment_expression "pBuf = (Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1)" identifier = (cast_expression "(Fts5Buffer *)((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1)" ( (type_descriptor "Fts5Buffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_94 >> 0x1f | (local_90 & 0xf) << 1)" ( (binary_expression "(uint)local_94 >> 0x1f | (local_90 & 0xf) << 1" (binary_expression "(uint)local_94 >> 0x1f" (cast_expression "(uint)local_94" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(local_90 & 0xf) << 1" (parenthesized_expression "(local_90 & 0xf)" ( (binary_expression "local_90 & 0xf" identifier & number_literal) )) << number_literal)) )))) ;) (if_statement "if (uVar10 == 0) {\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }" if (parenthesized_expression "(uVar10 == 0)" ( (binary_expression "uVar10 == 0" identifier == number_literal) )) (compound_statement "{\n          sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);\n          if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }\n          goto LAB_00071dac;\n        }" { (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8);" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8)" identifier (argument_list "(&rc,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar8)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal ""{%ssegid=%d h=%d pgno=%d}"" " string_content ") , (pointer_expression "&DAT_000f7177" & identifier) , identifier ))) ;) (if_statement "if (pvVar6 == (void *)0x0) {\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }\n          else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }" if (parenthesized_expression "(pvVar6 == (void *)0x0)" ( (binary_expression "pvVar6 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            nAppend = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            lvl.bEof = 0;\n            if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }\n            uVar3 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (u8 *)(uint)uVar3;\n            puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            rc = 0x10b;\n            iVar17 = rc;\n          }" { (expression_statement "nAppend = 0;" (assignment_expression "nAppend = 0" identifier = number_literal) ;) (expression_statement "lvl.pData = (Fts5Data *)0x0;" (assignment_expression "lvl.pData = (Fts5Data *)0x0" (field_expression "lvl.pData" identifier . field_identifier) = (cast_expression "(Fts5Data *)0x0" ( (type_descriptor "Fts5Data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lvl.iOff = 0;" (assignment_expression "lvl.iOff = 0" (field_expression "lvl.iOff" identifier . field_identifier) = number_literal) ;) (expression_statement "lvl.bEof = 0;" (assignment_expression "lvl.bEof = 0" (field_expression "lvl.bEof" identifier . field_identifier) = number_literal) ;) (if_statement "if ((int)__n < 4) {\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }" if (parenthesized_expression "((int)__n < 4)" ( (binary_expression "(int)__n < 4" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              s.n = 0;\n              sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");\n              iVar17 = rc;\n              goto LAB_00071dac;\n            }" { (expression_statement "s.n = 0;" (assignment_expression "s.n = 0" (field_expression "s.n" identifier . field_identifier) = number_literal) ;) (expression_statement "sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt");" (call_expression "sqlite3Fts5BufferAppendBlob(&rc,&s,7,(u8 *)"corrupt")" identifier (argument_list "(&rc,&s,7,(u8 *)"corrupt")" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , number_literal , (cast_expression "(u8 *)"corrupt"" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""corrupt"" " string_content ")) ))) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) (expression_statement "uVar3 = CONCAT11(*local_98,local_98[1]);" (assignment_expression "uVar3 = CONCAT11(*local_98,local_98[1])" identifier = (call_expression "CONCAT11(*local_98,local_98[1])" identifier (argument_list "(*local_98,local_98[1])" ( (pointer_expression "*local_98" * identifier) , (subscript_expression "local_98[1]" identifier [ number_literal ]) )))) ;) (expression_statement "local_80 = (u8 *)(uint)uVar3;" (assignment_expression "local_80 = (u8 *)(uint)uVar3" identifier = (cast_expression "(u8 *)(uint)uVar3" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3]);" (assignment_expression "puVar7 = (u8 *)(uint)CONCAT11(local_98[2],local_98[3])" identifier = (cast_expression "(u8 *)(uint)CONCAT11(local_98[2],local_98[3])" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)CONCAT11(local_98[2],local_98[3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(local_98[2],local_98[3])" identifier (argument_list "(local_98[2],local_98[3])" ( (subscript_expression "local_98[2]" identifier [ number_literal ]) , (subscript_expression "local_98[3]" identifier [ number_literal ]) )))))) ;) (if_statement "if ((int)puVar7 < (int)__n) {\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" if (parenthesized_expression "((int)puVar7 < (int)__n)" ( (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);\n              if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }" { (expression_statement "sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend);" (call_expression "sqlite3Fts5GetVarint32(puVar7 + (int)local_98,(u32 *)&nAppend)" identifier (argument_list "(puVar7 + (int)local_98,(u32 *)&nAppend)" ( (binary_expression "puVar7 + (int)local_98" identifier + (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(u32 *)&nAppend" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&nAppend" & identifier)) ))) ;) (if_statement "if ((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)) {\n                local_80 = puVar7;\n              }" if (parenthesized_expression "((uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0))" ( (binary_expression "(uVar3 == 0) && (local_80 = (u8 *)nAppend, nAppend == 0)" (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_80 = (u8 *)nAppend, nAppend == 0)" ( (comma_expression "local_80 = (u8 *)nAppend, nAppend == 0" (assignment_expression "local_80 = (u8 *)nAppend" identifier = (cast_expression "(u8 *)nAppend" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "nAppend == 0" identifier == number_literal)) ))) )) (compound_statement "{\n                local_80 = puVar7;\n              }" { (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) })) (labeled_statement "LAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" statement_identifier : (if_statement "if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" if (parenthesized_expression "((int)local_80 <= (int)__n)" ( (binary_expression "(int)local_80 <= (int)__n" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }\n                puVar9 = (u8 *)nAppend;\n                if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }\n                if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" { (if_statement "if (0 < (int)(local_80 + -4)) {\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }" if (parenthesized_expression "(0 < (int)(local_80 + -4))" ( (binary_expression "0 < (int)(local_80 + -4)" number_literal < (cast_expression "(int)(local_80 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 + -4)" ( (binary_expression "local_80 + -4" identifier + number_literal) )))) )) (compound_statement "{\n                  iVar17 = 0;\n                  do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));\n                }" { (expression_statement "iVar17 = 0;" (assignment_expression "iVar17 = 0" identifier = number_literal) ;) (do_statement "do {\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  } while (iVar17 < (int)(local_80 + -4));" do (compound_statement "{\n                    iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);\n                    iVar17 = iVar17 + iVar14;\n                    sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);\n                  }" { (expression_statement "iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx);" (assignment_expression "iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx)" identifier = (call_expression "sqlite3Fts5GetVarint32(local_98 + iVar17 + 4,(u32 *)&dlidx)" identifier (argument_list "(local_98 + iVar17 + 4,(u32 *)&dlidx)" ( (binary_expression "local_98 + iVar17 + 4" (binary_expression "local_98 + iVar17" identifier + identifier) + number_literal) , (cast_expression "(u32 *)&dlidx" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dlidx" & identifier)) )))) ;) (expression_statement "iVar17 = iVar17 + iVar14;" (assignment_expression "iVar17 = iVar17 + iVar14" identifier = (binary_expression "iVar17 + iVar14" identifier + identifier)) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p);" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s," %d",dlidx.p)" identifier (argument_list "(&rc,&s," %d",dlidx.p)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal "" %d"" " string_content ") , (field_expression "dlidx.p" identifier . field_identifier) ))) ;) }) while (parenthesized_expression "(iVar17 < (int)(local_80 + -4))" ( (binary_expression "iVar17 < (int)(local_80 + -4)" identifier < (cast_expression "(int)(local_80 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 + -4)" ( (binary_expression "local_80 + -4" identifier + number_literal) )))) )) ;) })) (expression_statement "puVar9 = (u8 *)nAppend;" (assignment_expression "puVar9 = (u8 *)nAppend" identifier = (cast_expression "(u8 *)nAppend" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (nAppend == 0) {\n                  puVar9 = puVar7;\n                }" if (parenthesized_expression "(nAppend == 0)" ( (binary_expression "nAppend == 0" identifier == number_literal) )) (compound_statement "{\n                  puVar9 = puVar7;\n                }" { (expression_statement "puVar9 = puVar7;" (assignment_expression "puVar9 = puVar7" identifier = identifier) ;) })) (if_statement "if ((int)puVar9 <= (int)__n) {\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }" if (parenthesized_expression "((int)puVar9 <= (int)__n)" ( (binary_expression "(int)puVar9 <= (int)__n" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);\n                  if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }\n                  goto LAB_00071fa2;\n                }" { (expression_statement "fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80);" (call_expression "fts5DecodeDoclist(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80)" identifier (argument_list "(&rc,&s,local_98 + (int)local_80,(int)puVar9 - (int)local_80)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (binary_expression "local_98 + (int)local_80" identifier + (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)puVar9 - (int)local_80" (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if ((int)puVar7 < (int)__n) {\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }" if (parenthesized_expression "((int)puVar7 < (int)__n)" ( (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                    local_7c = (u8 *)rc;\n                    puVar9 = puVar7;\n                    if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }\n                  }" { (expression_statement "local_7c = (u8 *)rc;" (assignment_expression "local_7c = (u8 *)rc" identifier = (cast_expression "(u8 *)rc" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar9 = puVar7;" (assignment_expression "puVar9 = puVar7" identifier = identifier) ;) (if_statement "if (rc == 0) {\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n                      while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }\n                      sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);\n                      local_80 = dlidx.p + (int)local_7c;\n                      if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                      rc = 0x10b;\n                    }" { (while_statement "while( true ) {\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                        iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);\n                        local_7c = local_7c + (int)dlidx.p;\n                        puVar11 = puVar9 + iVar17;\n                        local_80 = puVar7;\n                        if ((int)puVar11 < (int)__n) break;\nLAB_000723a0:\n                        p = local_98 + (int)local_7c;\n                        puVar15 = local_7c;\n                        if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }\n                        iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                        puVar15 = puVar15 + iVar17;\n                        if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;\n                        sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);\n                        puVar15 = puVar15 + (int)dlidx.p;\n                        sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n                        fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);\n                        if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;\n                      }" { (expression_statement "iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx);" (assignment_expression "iVar17 = sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx)" identifier = (call_expression "sqlite3Fts5GetVarint32(local_98 + (int)puVar9,(u32 *)&dlidx)" identifier (argument_list "(local_98 + (int)puVar9,(u32 *)&dlidx)" ( (binary_expression "local_98 + (int)puVar9" identifier + (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(u32 *)&dlidx" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dlidx" & identifier)) )))) ;) (expression_statement "local_7c = local_7c + (int)dlidx.p;" (assignment_expression "local_7c = local_7c + (int)dlidx.p" identifier = (binary_expression "local_7c + (int)dlidx.p" identifier + (cast_expression "(int)dlidx.p" ( (type_descriptor "int" primitive_type) ) (field_expression "dlidx.p" identifier . field_identifier)))) ;) (expression_statement "puVar11 = puVar9 + iVar17;" (assignment_expression "puVar11 = puVar9 + iVar17" identifier = (binary_expression "puVar9 + iVar17" identifier + identifier)) ;) (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) (if_statement "if ((int)puVar11 < (int)__n) break;" if (parenthesized_expression "((int)puVar11 < (int)__n)" ( (binary_expression "(int)puVar11 < (int)__n" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000723a0:\n                        p = local_98 + (int)local_7c;" statement_identifier : (expression_statement "p = local_98 + (int)local_7c;" (assignment_expression "p = local_98 + (int)local_7c" identifier = (binary_expression "local_98 + (int)local_7c" identifier + (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) (expression_statement "puVar15 = local_7c;" (assignment_expression "puVar15 = local_7c" identifier = identifier) ;) (if_statement "if (puVar7 != puVar9) {\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }" if (parenthesized_expression "(puVar7 != puVar9)" ( (binary_expression "puVar7 != puVar9" identifier != identifier) )) (compound_statement "{\n                          iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);\n                          puVar15 = local_7c + iVar17;\n                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;\n                          lvl.iOff = (int)dlidx.p;\n                          p = local_98 + (int)puVar15;\n                        }" { (expression_statement "iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);" (assignment_expression "iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx)" identifier = (call_expression "sqlite3Fts5GetVarint32(p,(u32 *)&dlidx)" identifier (argument_list "(p,(u32 *)&dlidx)" ( identifier , (cast_expression "(u32 *)&dlidx" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dlidx" & identifier)) )))) ;) (expression_statement "puVar15 = local_7c + iVar17;" (assignment_expression "puVar15 = local_7c + iVar17" identifier = (binary_expression "local_7c + iVar17" identifier + identifier)) ;) (if_statement "if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;" if (parenthesized_expression "(lvl.iOff < (int)dlidx.p)" ( (binary_expression "lvl.iOff < (int)dlidx.p" (field_expression "lvl.iOff" identifier . field_identifier) < (cast_expression "(int)dlidx.p" ( (type_descriptor "int" primitive_type) ) (field_expression "dlidx.p" identifier . field_identifier))) )) (goto_statement "goto LAB_000724b2;" goto statement_identifier ;)) (expression_statement "lvl.iOff = (int)dlidx.p;" (assignment_expression "lvl.iOff = (int)dlidx.p" (field_expression "lvl.iOff" identifier . field_identifier) = (cast_expression "(int)dlidx.p" ( (type_descriptor "int" primitive_type) ) (field_expression "dlidx.p" identifier . field_identifier))) ;) (expression_statement "p = local_98 + (int)puVar15;" (assignment_expression "p = local_98 + (int)puVar15" identifier = (binary_expression "local_98 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx);" (assignment_expression "iVar17 = sqlite3Fts5GetVarint32(p,(u32 *)&dlidx)" identifier = (call_expression "sqlite3Fts5GetVarint32(p,(u32 *)&dlidx)" identifier (argument_list "(p,(u32 *)&dlidx)" ( identifier , (cast_expression "(u32 *)&dlidx" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dlidx" & identifier)) )))) ;) (expression_statement "puVar15 = puVar15 + iVar17;" (assignment_expression "puVar15 = puVar15 + iVar17" identifier = (binary_expression "puVar15 + iVar17" identifier + identifier)) ;) (if_statement "if ((int)__n < (int)(dlidx.p + (int)puVar15)) goto LAB_000724b2;" if (parenthesized_expression "((int)__n < (int)(dlidx.p + (int)puVar15))" ( (binary_expression "(int)__n < (int)(dlidx.p + (int)puVar15)" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(dlidx.p + (int)puVar15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(dlidx.p + (int)puVar15)" ( (binary_expression "dlidx.p + (int)puVar15" (field_expression "dlidx.p" identifier . field_identifier) + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_000724b2;" goto statement_identifier ;)) (expression_statement "sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15);" (call_expression "sqlite3Fts5BufferAppendBlob\n                                  (&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15)" identifier (argument_list "(&rc,(Fts5Buffer *)&lvl,(u32)dlidx.p,local_98 + (int)puVar15)" ( (pointer_expression "&rc" & identifier) , (cast_expression "(Fts5Buffer *)&lvl" ( (type_descriptor "Fts5Buffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&lvl" & identifier)) , (cast_expression "(u32)dlidx.p" ( (type_descriptor "u32" type_identifier) ) (field_expression "dlidx.p" identifier . field_identifier)) , (binary_expression "local_98 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "puVar15 = puVar15 + (int)dlidx.p;" (assignment_expression "puVar15 = puVar15 + (int)dlidx.p" identifier = (binary_expression "puVar15 + (int)dlidx.p" identifier + (cast_expression "(int)dlidx.p" ( (type_descriptor "int" primitive_type) ) (field_expression "dlidx.p" identifier . field_identifier)))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData)" identifier (argument_list "(&rc,&s," term=%.*s",lvl.iOff,lvl.pData)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal "" term=%.*s"" " string_content ") , (field_expression "lvl.iOff" identifier . field_identifier) , (field_expression "lvl.pData" identifier . field_identifier) ))) ;) (expression_statement "fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15);" (call_expression "fts5DecodeDoclist(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15)" identifier (argument_list "(&rc,&s,local_98 + (int)puVar15,\n                                          (int)local_80 - (int)puVar15)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (binary_expression "local_98 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) , (binary_expression "(int)local_80 - (int)puVar15" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))\n                        goto LAB_00071fa2;" if (parenthesized_expression "(((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0))" ( (binary_expression "((int)__n <= (int)puVar11) || (puVar9 = puVar11, rc != 0)" (parenthesized_expression "((int)__n <= (int)puVar11)" ( (binary_expression "(int)__n <= (int)puVar11" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(puVar9 = puVar11, rc != 0)" ( (comma_expression "puVar9 = puVar11, rc != 0" (assignment_expression "puVar9 = puVar11" identifier = identifier) , (binary_expression "rc != 0" identifier != number_literal)) ))) )) (goto_statement "goto LAB_00071fa2;" goto statement_identifier ;)) })) (expression_statement "sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx);" (call_expression "sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&dlidx)" identifier (argument_list "(local_98 + (int)puVar11,(u32 *)&dlidx)" ( (binary_expression "local_98 + (int)puVar11" identifier + (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(u32 *)&dlidx" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dlidx" & identifier)) ))) ;) (expression_statement "local_80 = dlidx.p + (int)local_7c;" (assignment_expression "local_80 = dlidx.p + (int)local_7c" identifier = (binary_expression "dlidx.p + (int)local_7c" (field_expression "dlidx.p" identifier . field_identifier) + (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;" if (parenthesized_expression "((int)local_80 <= (int)puVar7)" ( (binary_expression "(int)local_80 <= (int)puVar7" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000723a0;" goto statement_identifier ;)) (labeled_statement "LAB_000724b2:\n                      rc = 0x10b;" statement_identifier : (expression_statement "rc = 0x10b;" (assignment_expression "rc = 0x10b" identifier = number_literal) ;)) })) })) (goto_statement "goto LAB_00071fa2;" goto statement_identifier ;) })) }))) }) (else_clause "else if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" else (if_statement "if ((int)puVar7 <= (int)__n) {\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" if (parenthesized_expression "((int)puVar7 <= (int)__n)" ( (binary_expression "(int)puVar7 <= (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (uVar3 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" { (if_statement "if (uVar3 == 0) {\n                local_80 = puVar7;\n              }" if (parenthesized_expression "(uVar3 == 0)" ( (binary_expression "uVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                local_80 = puVar7;\n              }" { (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) })) (goto_statement "goto LAB_000722bf;" goto statement_identifier ;) })))) (expression_statement "rc = 0x10b;" (assignment_expression "rc = 0x10b" identifier = number_literal) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) }) (else_clause "else {\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }" else (compound_statement "{\n            nKeep = 0;\n            lvl.pData = (Fts5Data *)0x0;\n            lvl.iOff = 0;\n            puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);\n            lvl.bEof = 0;\n            local_84 = puVar11;\n            puVar9 = puVar11;\n            if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }\n            iTermOff = (int)puVar9;\n            fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);\n            for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }\nLAB_00071fa2:\n            local_94 = &lvl;\n            sqlite3Fts5BufferFree((Fts5Buffer *)local_94);\n            iVar17 = rc;\n          }" { (expression_statement "nKeep = 0;" (assignment_expression "nKeep = 0" identifier = number_literal) ;) (expression_statement "lvl.pData = (Fts5Data *)0x0;" (assignment_expression "lvl.pData = (Fts5Data *)0x0" (field_expression "lvl.pData" identifier . field_identifier) = (cast_expression "(Fts5Data *)0x0" ( (type_descriptor "Fts5Data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "lvl.iOff = 0;" (assignment_expression "lvl.iOff = 0" (field_expression "lvl.iOff" identifier . field_identifier) = number_literal) ;) (expression_statement "puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff);" (assignment_expression "puVar11 = (u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff)" identifier = (cast_expression "(u8 *)((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff)" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff)" ( (binary_expression "(uint)local_98[3] + (uint)local_98[2] * 0x100 & 0xffff" (binary_expression "(uint)local_98[3] + (uint)local_98[2] * 0x100" (cast_expression "(uint)local_98[3]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_98[3]" identifier [ number_literal ])) + (binary_expression "(uint)local_98[2] * 0x100" (cast_expression "(uint)local_98[2]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_98[2]" identifier [ number_literal ])) * number_literal)) & number_literal) )))) ;) (expression_statement "lvl.bEof = 0;" (assignment_expression "lvl.bEof = 0" (field_expression "lvl.bEof" identifier . field_identifier) = number_literal) ;) (expression_statement "local_84 = puVar11;" (assignment_expression "local_84 = puVar11" identifier = identifier) ;) (expression_statement "puVar9 = puVar11;" (assignment_expression "puVar9 = puVar11" identifier = identifier) ;) (if_statement "if ((int)puVar11 < (int)__n) {\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }" if (parenthesized_expression "((int)puVar11 < (int)__n)" ( (binary_expression "(int)puVar11 < (int)__n" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar17 = 0x724d5;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);\n              local_84 = puVar11 + iVar14;\n              puVar9 = (u8 *)iTermOff;\n            }" { (expression_statement "iVar17 = 0x724d5;" (assignment_expression "iVar17 = 0x724d5" identifier = number_literal) ;) (expression_statement "iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff);" (assignment_expression "iVar14 = sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff)" identifier = (call_expression "sqlite3Fts5GetVarint32(local_98 + (int)puVar11,(u32 *)&iTermOff)" identifier (argument_list "(local_98 + (int)puVar11,(u32 *)&iTermOff)" ( (binary_expression "local_98 + (int)puVar11" identifier + (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(u32 *)&iTermOff" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iTermOff" & identifier)) )))) ;) (expression_statement "local_84 = puVar11 + iVar14;" (assignment_expression "local_84 = puVar11 + iVar14" identifier = (binary_expression "puVar11 + iVar14" identifier + identifier)) ;) (expression_statement "puVar9 = (u8 *)iTermOff;" (assignment_expression "puVar9 = (u8 *)iTermOff" identifier = (cast_expression "(u8 *)iTermOff" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "iTermOff = (int)puVar9;" (assignment_expression "iTermOff = (int)puVar9" identifier = (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17);" (call_expression "fts5DecodeRowidList((int *)(iTermOff + -4),pBuf,puVar7,iVar17)" identifier (argument_list "((int *)(iTermOff + -4),pBuf,puVar7,iVar17)" ( (cast_expression "(int *)(iTermOff + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iTermOff + -4)" ( (binary_expression "iTermOff + -4" identifier + number_literal) ))) , identifier , identifier , identifier ))) ;) (for_statement "for (iVar17 = iTermOff; iVar17 < (int)puVar11; iVar17 = iVar17 + iVar14) {\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }" for ( (assignment_expression "iVar17 = iTermOff" identifier = identifier) ; (binary_expression "iVar17 < (int)puVar11" identifier < (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ; (assignment_expression "iVar17 = iVar17 + iVar14" identifier = (binary_expression "iVar17 + iVar14" identifier + identifier)) ) (compound_statement "{\n              nData = 0x71f1c;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);\n              lvl.iOff = nKeep;\n              sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;\n              sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);\n              iVar17 = iVar17 + iVar14 + nAppend;\n              puVar9 = puVar11;\n              if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }\n              iTermOff = (int)puVar9;\n              fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);\n              iVar17 = iTermOff;\n              if ((int)puVar11 <= iTermOff) break;\n              iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);\n            }" { (expression_statement "nData = 0x71f1c;" (assignment_expression "nData = 0x71f1c" identifier = number_literal) ;) (expression_statement "iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend);" (assignment_expression "iVar14 = sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend)" identifier = (call_expression "sqlite3Fts5GetVarint32(local_98 + iVar17,(u32 *)&nAppend)" identifier (argument_list "(local_98 + iVar17,(u32 *)&nAppend)" ( (binary_expression "local_98 + iVar17" identifier + identifier) , (cast_expression "(u32 *)&nAppend" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&nAppend" & identifier)) )))) ;) (expression_statement "lvl.iOff = nKeep;" (assignment_expression "lvl.iOff = nKeep" (field_expression "lvl.iOff" identifier . field_identifier) = identifier) ;) (expression_statement "sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)\n              ;" (call_expression "sqlite3Fts5BufferAppendBlob(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)" identifier (argument_list "(&rc,(Fts5Buffer *)&lvl,nAppend,local_98 + iVar17 + iVar14)" ( (pointer_expression "&rc" & identifier) , (cast_expression "(Fts5Buffer *)&lvl" ( (type_descriptor "Fts5Buffer *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&lvl" & identifier)) , identifier , (binary_expression "local_98 + iVar17 + iVar14" (binary_expression "local_98 + iVar17" identifier + identifier) + identifier) ))) ;) (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData);" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s," term=%.*s",lvl.iOff,lvl.pData)" identifier (argument_list "(&rc,&s," term=%.*s",lvl.iOff,lvl.pData)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal "" term=%.*s"" " string_content ") , (field_expression "lvl.iOff" identifier . field_identifier) , (field_expression "lvl.pData" identifier . field_identifier) ))) ;) (expression_statement "iVar17 = iVar17 + iVar14 + nAppend;" (assignment_expression "iVar17 = iVar17 + iVar14 + nAppend" identifier = (binary_expression "iVar17 + iVar14 + nAppend" (binary_expression "iVar17 + iVar14" identifier + identifier) + identifier)) ;) (expression_statement "puVar9 = puVar11;" (assignment_expression "puVar9 = puVar11" identifier = identifier) ;) (if_statement "if ((int)local_84 < (int)__n) {\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }" if (parenthesized_expression "((int)local_84 < (int)__n)" ( (binary_expression "(int)local_84 < (int)__n" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                nData = 0x7213d;\n                iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);\n                local_84 = local_84 + iVar14;\n                puVar9 = dlidx.p + iTermOff;\n              }" { (expression_statement "nData = 0x7213d;" (assignment_expression "nData = 0x7213d" identifier = number_literal) ;) (expression_statement "iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx);" (assignment_expression "iVar14 = sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx)" identifier = (call_expression "sqlite3Fts5GetVarint32(local_84 + (int)local_98,(u32 *)&dlidx)" identifier (argument_list "(local_84 + (int)local_98,(u32 *)&dlidx)" ( (binary_expression "local_84 + (int)local_98" identifier + (cast_expression "(int)local_98" ( (type_descriptor "int" primitive_type) ) identifier)) , (cast_expression "(u32 *)&dlidx" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&dlidx" & identifier)) )))) ;) (expression_statement "local_84 = local_84 + iVar14;" (assignment_expression "local_84 = local_84 + iVar14" identifier = (binary_expression "local_84 + iVar14" identifier + identifier)) ;) (expression_statement "puVar9 = dlidx.p + iTermOff;" (assignment_expression "puVar9 = dlidx.p + iTermOff" identifier = (binary_expression "dlidx.p + iTermOff" (field_expression "dlidx.p" identifier . field_identifier) + identifier)) ;) })) (expression_statement "iTermOff = (int)puVar9;" (assignment_expression "iTermOff = (int)puVar9" identifier = (cast_expression "(int)puVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData);" (call_expression "fts5DecodeRowidList((int *)(puVar9 + -iVar17),pBuf,puVar7,nData)" identifier (argument_list "((int *)(puVar9 + -iVar17),pBuf,puVar7,nData)" ( (cast_expression "(int *)(puVar9 + -iVar17)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + -iVar17)" ( (binary_expression "puVar9 + -iVar17" identifier + (unary_expression "-iVar17" - identifier)) ))) , identifier , identifier , identifier ))) ;) (expression_statement "iVar17 = iTermOff;" (assignment_expression "iVar17 = iTermOff" identifier = identifier) ;) (if_statement "if ((int)puVar11 <= iTermOff) break;" if (parenthesized_expression "((int)puVar11 <= iTermOff)" ( (binary_expression "(int)puVar11 <= iTermOff" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep);" (assignment_expression "iVar14 = sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep)" identifier = (call_expression "sqlite3Fts5GetVarint32(local_98 + iTermOff,(u32 *)&nKeep)" identifier (argument_list "(local_98 + iTermOff,(u32 *)&nKeep)" ( (binary_expression "local_98 + iTermOff" identifier + identifier) , (cast_expression "(u32 *)&nKeep" ( (type_descriptor "u32 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&nKeep" & identifier)) )))) ;) })) (labeled_statement "LAB_00071fa2:\n            local_94 = &lvl;" statement_identifier : (expression_statement "local_94 = &lvl;" (assignment_expression "local_94 = &lvl" identifier = (pointer_expression "&lvl" & identifier)) ;)) (expression_statement "sqlite3Fts5BufferFree((Fts5Buffer *)local_94);" (call_expression "sqlite3Fts5BufferFree((Fts5Buffer *)local_94)" identifier (argument_list "((Fts5Buffer *)local_94)" ( (cast_expression "(Fts5Buffer *)local_94" ( (type_descriptor "Fts5Buffer *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) }))) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) (expression_statement "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)\n        ;" (call_expression "sqlite3Fts5BufferAppendPrintf(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)" identifier (argument_list "(&rc,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar8,pBuf,puVar7)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal ""{%ssegid=%d h=%d pgno=%d}"" " string_content ") , (string_literal ""dlidx "" " string_content ") , identifier , identifier , identifier ))) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);" do (compound_statement "{\n        *(undefined4 *)((int)&lvl.iOff + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      }" { (expression_statement "*(undefined4 *)((int)&lvl.iOff + uVar8) = 0;" (assignment_expression "*(undefined4 *)((int)&lvl.iOff + uVar8) = 0" (pointer_expression "*(undefined4 *)((int)&lvl.iOff + uVar8)" * (cast_expression "(undefined4 *)((int)&lvl.iOff + uVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&lvl.iOff + uVar8)" ( (binary_expression "(int)&lvl.iOff + uVar8" (cast_expression "(int)&lvl.iOff" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&lvl.iOff" & (field_expression "lvl.iOff" identifier . field_identifier))) + identifier) )))) = number_literal) ;) (expression_statement "uVar8 = uVar8 + 4;" (assignment_expression "uVar8 = uVar8 + 4" identifier = (binary_expression "uVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 < 0x18)" ( (binary_expression "uVar8 < 0x18" identifier < number_literal) )) ;) (expression_statement "lvl.pData = &dlidx;" (assignment_expression "lvl.pData = &dlidx" (field_expression "lvl.pData" identifier . field_identifier) = (pointer_expression "&dlidx" & identifier)) ;) (expression_statement "dlidx.p = local_98;" (assignment_expression "dlidx.p = local_98" (field_expression "dlidx.p" identifier . field_identifier) = identifier) ;) (expression_statement "dlidx.nn = __n;" (assignment_expression "dlidx.nn = __n" (field_expression "dlidx.nn" identifier . field_identifier) = identifier) ;) (expression_statement "lvl.iLeafPgno = (int)puVar7;" (assignment_expression "lvl.iLeafPgno = (int)puVar7" (field_expression "lvl.iLeafPgno" identifier . field_identifier) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "fts5DlidxLvlNext(&lvl);" (call_expression "fts5DlidxLvlNext(&lvl)" identifier (argument_list "(&lvl)" ( (pointer_expression "&lvl" & identifier) ))) ;) (while_statement "while (iVar17 = rc, lvl.bEof == 0) {\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }" while (parenthesized_expression "(iVar17 = rc, lvl.bEof == 0)" ( (comma_expression "iVar17 = rc, lvl.bEof == 0" (assignment_expression "iVar17 = rc" identifier = identifier) , (binary_expression "lvl.bEof == 0" (field_expression "lvl.bEof" identifier . field_identifier) == number_literal)) )) (compound_statement "{\n        sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);\n        fts5DlidxLvlNext(&lvl);\n      }" { (expression_statement "sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_);" (call_expression "sqlite3Fts5BufferAppendPrintf\n                  (&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_)" identifier (argument_list "(&rc,&s," %d(%lld)",lvl.iLeafPgno,(undefined4)lvl.iRowid,lvl.iRowid._4_4_)" ( (pointer_expression "&rc" & identifier) , (pointer_expression "&s" & identifier) , (string_literal "" %d(%lld)"" " string_content ") , (field_expression "lvl.iLeafPgno" identifier . field_identifier) , (cast_expression "(undefined4)lvl.iRowid" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "lvl.iRowid" identifier . field_identifier)) , (field_expression "lvl.iRowid._4_4_" (field_expression "lvl.iRowid" identifier . field_identifier) . field_identifier) ))) ;) (expression_statement "fts5DlidxLvlNext(&lvl);" (call_expression "fts5DlidxLvlNext(&lvl)" identifier (argument_list "(&lvl)" ( (pointer_expression "&lvl" & identifier) ))) ;) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) })) (expression_statement "local_98 = (u8 *)0x0;" (assignment_expression "local_98 = (u8 *)0x0" identifier = (cast_expression "(u8 *)0x0" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar17 = rc;" (assignment_expression "iVar17 = rc" identifier = identifier) ;) (labeled_statement "LAB_00071dac:\n  rc = iVar17;" statement_identifier : (expression_statement "rc = iVar17;" (assignment_expression "rc = iVar17" identifier = identifier) ;)) (expression_statement "sqlite3_free(local_98);" (call_expression "sqlite3_free(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (if_statement "if (rc == 0) {\n    sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);\n  }\n  else {\n    sqlite3_result_error_code(pCtx,rc);\n  }" if (parenthesized_expression "(rc == 0)" ( (binary_expression "rc == 0" identifier == number_literal) )) (compound_statement "{\n    sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);\n  }" { (expression_statement "sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff);" (call_expression "sqlite3_result_text(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff)" identifier (argument_list "(pCtx,(char *)s.p,s.n,(_func_void_void_ptr *)&DAT_ffffffff)" ( identifier , (cast_expression "(char *)s.p" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "s.p" identifier . field_identifier)) , (field_expression "s.n" identifier . field_identifier) , (cast_expression "(_func_void_void_ptr *)&DAT_ffffffff" ( (type_descriptor "_func_void_void_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_ffffffff" & identifier)) ))) ;) }) (else_clause "else {\n    sqlite3_result_error_code(pCtx,rc);\n  }" else (compound_statement "{\n    sqlite3_result_error_code(pCtx,rc);\n  }" { (expression_statement "sqlite3_result_error_code(pCtx,rc);" (call_expression "sqlite3_result_error_code(pCtx,rc)" identifier (argument_list "(pCtx,rc)" ( identifier , identifier ))) ;) }))) (expression_statement "sqlite3Fts5BufferFree(&s);" (call_expression "sqlite3Fts5BufferFree(&s)" identifier (argument_list "(&s)" ( (pointer_expression "&s" & identifier) ))) ;) (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(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    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000f6410();\n}\n\n" (function_definition "void FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000f6410();\n}" primitive_type (function_declarator "FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000f6410();\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "undefined1 **ppuVar3;" type_identifier (pointer_declarator "**ppuVar3" * (pointer_declarator "*ppuVar3" * identifier)) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "void *__src;" primitive_type (pointer_declarator "*__src" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined1 **ppuVar11;" type_identifier (pointer_declarator "**ppuVar11" * (pointer_declarator "*ppuVar11" * identifier)) ;) (declaration "undefined1 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "longlong lVar16;" type_identifier identifier ;) (declaration "int local_9c;" primitive_type identifier ;) (declaration "undefined1 *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "undefined1 *local_84;" type_identifier (pointer_declarator "*local_84" * identifier) ;) (declaration "undefined1 *local_80;" type_identifier (pointer_declarator "*local_80" * identifier) ;) (declaration "undefined1 *local_7c;" type_identifier (pointer_declarator "*local_7c" * identifier) ;) (declaration "undefined1 *local_64;" type_identifier (pointer_declarator "*local_64" * identifier) ;) (declaration "undefined1 *local_60;" type_identifier (pointer_declarator "*local_60" * identifier) ;) (declaration "undefined1 *local_5c;" type_identifier (pointer_declarator "*local_5c" * identifier) ;) (declaration "undefined1 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined4 local_54;" type_identifier identifier ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "size_t local_44;" primitive_type identifier ;) (declaration "undefined1 **local_3c;" type_identifier (pointer_declarator "**local_3c" * (pointer_declarator "*local_3c" * identifier)) ;) (declaration "undefined1 *local_38;" type_identifier (pointer_declarator "*local_38" * identifier) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "uint local_2c;" type_identifier identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "undefined4 local_24;" type_identifier identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x71c49;" (assignment_expression "uStack_14 = 0x71c49" identifier = number_literal) ;) (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_64 = (undefined1 *)0x0;" (assignment_expression "local_64 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar4 = FUN_0001d2c0(param_1);" (assignment_expression "iVar4 = FUN_0001d2c0(param_1)" identifier = (call_expression "FUN_0001d2c0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "lVar16 = FUN_0002d350(*param_3);" (assignment_expression "lVar16 = FUN_0002d350(*param_3)" identifier = (call_expression "FUN_0002d350(*param_3)" identifier (argument_list "(*param_3)" ( (pointer_expression "*param_3" * identifier) )))) ;) (expression_statement "uVar8 = (uint)((ulonglong)lVar16 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)lVar16 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)lVar16 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)lVar16 >> 0x20)" ( (binary_expression "(ulonglong)lVar16 >> 0x20" (cast_expression "(ulonglong)lVar16" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "__n = FUN_0004e4c0(param_3[1]);" (assignment_expression "__n = FUN_0004e4c0(param_3[1])" identifier = (call_expression "FUN_0004e4c0(param_3[1])" identifier (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "__src = (void *)FUN_0004e6c0(param_3[1]);" (assignment_expression "__src = (void *)FUN_0004e6c0(param_3[1])" identifier = (cast_expression "(void *)FUN_0004e6c0(param_3[1])" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004e6c0(param_3[1])" identifier (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) ))))) ;) (if_statement "if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }" if (parenthesized_expression "(local_64 == (undefined1 *)0x0)" ( (binary_expression "local_64 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }" { (expression_statement "local_98 = (undefined1 *)FUN_00040980();" (assignment_expression "local_98 = (undefined1 *)FUN_00040980()" identifier = (cast_expression "(undefined1 *)FUN_00040980()" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00040980()" identifier (argument_list "()" ( ))))) ;) (if_statement "if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }" if (parenthesized_expression "(local_98 != (undefined1 *)0x0)" ( (binary_expression "local_98 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }" { (if_statement "if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }" if (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        memcpy(local_98,__src,__n);\n      }" { (expression_statement "memcpy(local_98,__src,__n);" (call_expression "memcpy(local_98,__src,__n)" identifier (argument_list "(local_98,__src,__n)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "uVar5 = (uint)lVar16 & 0x7fffffff;" (assignment_expression "uVar5 = (uint)lVar16 & 0x7fffffff" identifier = (binary_expression "(uint)lVar16 & 0x7fffffff" (cast_expression "(uint)lVar16" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal)) ;) (expression_statement "uVar9 = (int)uVar8 >> 4 & 1;" (assignment_expression "uVar9 = (int)uVar8 >> 4 & 1" identifier = (binary_expression "(int)uVar8 >> 4 & 1" (binary_expression "(int)uVar8 >> 4" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) ;) (expression_statement "uVar6 = (int)uVar8 >> 5 & 0xffff;" (assignment_expression "uVar6 = (int)uVar8 >> 5 & 0xffff" identifier = (binary_expression "(int)uVar8 >> 5 & 0xffff" (binary_expression "(int)uVar8 >> 5" (cast_expression "(int)uVar8" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) & number_literal)) ;) (if_statement "if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" if (parenthesized_expression "(uVar6 == 0)" ( (binary_expression "uVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }" { (if_statement "if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" if (parenthesized_expression "(lVar16 == 1)" ( (binary_expression "lVar16 == 1" identifier == number_literal) )) (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }" { (expression_statement "FUN_00071860(&local_64,&local_54,"{averages} ");" (call_expression "FUN_00071860(&local_64,&local_54,"{averages} ")" identifier (argument_list "(&local_64,&local_54,"{averages} ")" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{averages} "" " string_content ") ))) ;) (if_statement "if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" { (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (if_statement "if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }" if (parenthesized_expression "(0 < (int)__n)" ( (binary_expression "0 < (int)__n" number_literal < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (expression_statement "puVar13 = &DAT_000f7177;" (assignment_expression "puVar13 = &DAT_000f7177" identifier = (pointer_expression "&DAT_000f7177" & identifier)) ;) (do_statement "do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);" do (compound_statement "{\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              }" { (expression_statement "uVar8 = FUN_0001bef0();" (assignment_expression "uVar8 = FUN_0001bef0()" identifier = (call_expression "FUN_0001bef0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = iVar4 + (uVar8 & 0xff);" (assignment_expression "iVar4 = iVar4 + (uVar8 & 0xff)" identifier = (binary_expression "iVar4 + (uVar8 & 0xff)" identifier + (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )))) ;) (expression_statement "FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c)" identifier (argument_list "(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (pointer_expression "&DAT_000f73e1" & identifier) , identifier , identifier ))) ;) (expression_statement "puVar13 = &DAT_000fa0a2;" (assignment_expression "puVar13 = &DAT_000fa0a2" identifier = (pointer_expression "&DAT_000fa0a2" & identifier)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) }) while (parenthesized_expression "(iVar4 < (int)__n)" ( (binary_expression "iVar4 < (int)__n" identifier < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) }) (else_clause "else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" else (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" { (expression_statement "FUN_00071860(&local_64,&local_54,"{structure}");" (call_expression "FUN_00071860(&local_64,&local_54,"{structure}")" identifier (argument_list "(&local_64,&local_54,"{structure}")" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{structure}"" " string_content ") ))) ;) (if_statement "if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }" { (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puVar7 = (undefined1 *)FUN_000409f0(&local_3c);" (assignment_expression "puVar7 = (undefined1 *)FUN_000409f0(&local_3c)" identifier = (cast_expression "(undefined1 *)FUN_000409f0(&local_3c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000409f0(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) ))))) ;) (expression_statement "ppuVar3 = local_3c;" (assignment_expression "ppuVar3 = local_3c" identifier = identifier) ;) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }" if (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" ( (binary_expression "puVar7 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }" { (if_statement "if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }" if (parenthesized_expression "(0 < (int)local_3c[4])" ( (binary_expression "0 < (int)local_3c[4]" number_literal < (cast_expression "(int)local_3c[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_3c[4]" identifier [ number_literal ]))) )) (compound_statement "{\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }" { (expression_statement "ppuVar11 = local_3c + 5;" (assignment_expression "ppuVar11 = local_3c + 5" identifier = (binary_expression "local_3c + 5" identifier + number_literal)) ;) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" identifier = number_literal) ;) (do_statement "do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);" do (compound_statement "{\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                }" { (expression_statement "FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);" (call_expression "FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1])" identifier (argument_list "(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1])" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" {lvl=%d nMerge=%d nSeg=%d"" " string_content ") , identifier , (pointer_expression "*ppuVar11" * identifier) , (subscript_expression "ppuVar11[1]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }" if (parenthesized_expression "(0 < (int)ppuVar11[1])" ( (binary_expression "0 < (int)ppuVar11[1]" number_literal < (cast_expression "(int)ppuVar11[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar11[1]" identifier [ number_literal ]))) )) (compound_statement "{\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }" { (do_statement "do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);" do (compound_statement "{\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    }" { (expression_statement "iVar14 = iVar4 + 1;" (assignment_expression "iVar14 = iVar4 + 1" identifier = (binary_expression "iVar4 + 1" identifier + number_literal)) ;) (expression_statement "puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);" (assignment_expression "puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc)" identifier = (cast_expression "(undefined4 *)(ppuVar11[2] + iVar4 * 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppuVar11[2] + iVar4 * 0xc)" ( (binary_expression "ppuVar11[2] + iVar4 * 0xc" (subscript_expression "ppuVar11[2]" identifier [ number_literal ]) + (binary_expression "iVar4 * 0xc" identifier * number_literal)) )))) ;) (expression_statement "FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);" (call_expression "FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2])" identifier (argument_list "(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2])" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" {id=%d leaves=%d..%d}"" " string_content ") , (pointer_expression "*puVar1" * identifier) , (subscript_expression "puVar1[1]" identifier [ number_literal ]) , (subscript_expression "puVar1[2]" identifier [ number_literal ]) ))) ;) (expression_statement "iVar4 = iVar14;" (assignment_expression "iVar4 = iVar14" identifier = identifier) ;) }) while (parenthesized_expression "(iVar14 < (int)ppuVar11[1])" ( (binary_expression "iVar14 < (int)ppuVar11[1]" identifier < (cast_expression "(int)ppuVar11[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar11[1]" identifier [ number_literal ]))) )) ;) })) (expression_statement "ppuVar11 = ppuVar11 + 3;" (assignment_expression "ppuVar11 = ppuVar11 + 3" identifier = (binary_expression "ppuVar11 + 3" identifier + number_literal)) ;) (expression_statement "FUN_00071860(&local_64,&local_54,"}");" (call_expression "FUN_00071860(&local_64,&local_54,"}")" identifier (argument_list "(&local_64,&local_54,"}")" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""}"" " string_content ") ))) ;) (expression_statement "local_9c = local_9c + 1;" (assignment_expression "local_9c = local_9c + 1" identifier = (binary_expression "local_9c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(local_9c < (int)ppuVar3[4])" ( (binary_expression "local_9c < (int)ppuVar3[4]" identifier < (cast_expression "(int)ppuVar3[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppuVar3[4]" identifier [ number_literal ]))) )) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (if_statement "if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;" if (parenthesized_expression "(local_3c == (undefined1 **)0x0)" ( (binary_expression "local_3c == (undefined1 **)0x0" identifier == (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;)) })) (expression_statement "puVar10 = *local_3c;" (assignment_expression "puVar10 = *local_3c" identifier = (pointer_expression "*local_3c" * identifier)) ;) (expression_statement "*local_3c = puVar10 + -1;" (assignment_expression "*local_3c = puVar10 + -1" (pointer_expression "*local_3c" * identifier) = (binary_expression "puVar10 + -1" identifier + number_literal)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (if_statement "if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }" if (parenthesized_expression "((int)(puVar10 + -1) < 1)" ( (binary_expression "(int)(puVar10 + -1) < 1" (cast_expression "(int)(puVar10 + -1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar10 + -1)" ( (binary_expression "puVar10 + -1" identifier + number_literal) ))) < number_literal) )) (compound_statement "{\n                FUN_000346e0();\n                puVar7 = local_64;\n              }" { (expression_statement "FUN_000346e0();" (call_expression "FUN_000346e0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) })) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) }))) }) (else_clause "else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" else (compound_statement "{\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" { (expression_statement "uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;" (assignment_expression "uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1" identifier = (binary_expression "(uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1" (binary_expression "(uint)lVar16 >> 0x1f" (cast_expression "(uint)lVar16" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "(uVar8 & 0xf) << 1" (parenthesized_expression "(uVar8 & 0xf)" ( (binary_expression "uVar8 & 0xf" identifier & number_literal) )) << number_literal))) ;) (if_statement "if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }" { (expression_statement "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);" (call_expression "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5)" identifier (argument_list "(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{%ssegid=%d h=%d pgno=%d}"" " string_content ") , (pointer_expression "&DAT_000f7177" & identifier) , identifier , identifier , identifier ))) ;) (if_statement "if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }" { (expression_statement "local_58 = (undefined1 *)0x0;" (assignment_expression "local_58 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (if_statement "if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }" if (parenthesized_expression "((int)__n < 4)" ( (binary_expression "(int)__n < 4" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }" { (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "FUN_00069170("corrupt");" (call_expression "FUN_00069170("corrupt")" identifier (argument_list "("corrupt")" ( (string_literal ""corrupt"" " string_content ") ))) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) (expression_statement "uVar2 = CONCAT11(*local_98,local_98[1]);" (assignment_expression "uVar2 = CONCAT11(*local_98,local_98[1])" identifier = (call_expression "CONCAT11(*local_98,local_98[1])" identifier (argument_list "(*local_98,local_98[1])" ( (pointer_expression "*local_98" * identifier) , (subscript_expression "local_98[1]" identifier [ number_literal ]) )))) ;) (expression_statement "local_80 = (undefined1 *)(uint)uVar2;" (assignment_expression "local_80 = (undefined1 *)(uint)uVar2" identifier = (cast_expression "(undefined1 *)(uint)uVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)uVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);" (assignment_expression "puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3])" identifier = (cast_expression "(undefined1 *)(uint)CONCAT11(local_98[2],local_98[3])" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)CONCAT11(local_98[2],local_98[3])" ( (type_descriptor "uint" type_identifier) ) (call_expression "CONCAT11(local_98[2],local_98[3])" identifier (argument_list "(local_98[2],local_98[3])" ( (subscript_expression "local_98[2]" identifier [ number_literal ]) , (subscript_expression "local_98[3]" identifier [ number_literal ]) )))))) ;) (if_statement "if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" if (parenthesized_expression "((int)puVar7 < (int)__n)" ( (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }" { (expression_statement "FUN_000360b0();" (call_expression "FUN_000360b0()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }" if (parenthesized_expression "((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0))" ( (binary_expression "(uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)" (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) && (parenthesized_expression "(local_80 = local_58, local_58 == (undefined1 *)0x0)" ( (comma_expression "local_80 = local_58, local_58 == (undefined1 *)0x0" (assignment_expression "local_80 = local_58" identifier = identifier) , (binary_expression "local_58 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n                local_80 = puVar7;\n              }" { (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) })) (labeled_statement "LAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" statement_identifier : (if_statement "if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" if (parenthesized_expression "((int)local_80 <= (int)__n)" ( (binary_expression "(int)local_80 <= (int)__n" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" { (if_statement "if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }" if (parenthesized_expression "(0 < (int)(local_80 + -4))" ( (binary_expression "0 < (int)(local_80 + -4)" number_literal < (cast_expression "(int)(local_80 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 + -4)" ( (binary_expression "local_80 + -4" identifier + number_literal) )))) )) (compound_statement "{\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }" { (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (do_statement "do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));" do (compound_statement "{\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  }" { (expression_statement "iVar14 = FUN_000360b0();" (assignment_expression "iVar14 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar4 = iVar4 + iVar14;" (assignment_expression "iVar4 = iVar4 + iVar14" identifier = (binary_expression "iVar4 + iVar14" identifier + identifier)) ;) (expression_statement "FUN_00071860(&local_64,&local_54," %d",local_48);" (call_expression "FUN_00071860(&local_64,&local_54," %d",local_48)" identifier (argument_list "(&local_64,&local_54," %d",local_48)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" %d"" " string_content ") , identifier ))) ;) }) while (parenthesized_expression "(iVar4 < (int)(local_80 + -4))" ( (binary_expression "iVar4 < (int)(local_80 + -4)" identifier < (cast_expression "(int)(local_80 + -4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 + -4)" ( (binary_expression "local_80 + -4" identifier + number_literal) )))) )) ;) })) (expression_statement "puVar10 = local_58;" (assignment_expression "puVar10 = local_58" identifier = identifier) ;) (if_statement "if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }" if (parenthesized_expression "(local_58 == (undefined1 *)0x0)" ( (binary_expression "local_58 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  puVar10 = puVar7;\n                }" { (expression_statement "puVar10 = puVar7;" (assignment_expression "puVar10 = puVar7" identifier = identifier) ;) })) (if_statement "if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }" if (parenthesized_expression "((int)puVar10 <= (int)__n)" ( (binary_expression "(int)puVar10 <= (int)__n" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }" { (expression_statement "FUN_00071a60((int)puVar10 - (int)local_80);" (call_expression "FUN_00071a60((int)puVar10 - (int)local_80)" identifier (argument_list "((int)puVar10 - (int)local_80)" ( (binary_expression "(int)puVar10 - (int)local_80" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }" if (parenthesized_expression "(((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0))" ( (binary_expression "((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)" (parenthesized_expression "((int)puVar7 < (int)__n)" ( (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "(local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)" ( (comma_expression "local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0" (assignment_expression "local_7c = local_64" identifier = identifier) , (comma_expression "puVar10 = puVar7, local_64 == (undefined1 *)0x0" (assignment_expression "puVar10 = puVar7" identifier = identifier) , (binary_expression "local_64 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }" { (while_statement "while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_7c = local_7c + (int)local_48;" (assignment_expression "local_7c = local_7c + (int)local_48" identifier = (binary_expression "local_7c + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar12 = puVar10 + iVar4;" (assignment_expression "puVar12 = puVar10 + iVar4" identifier = (binary_expression "puVar10 + iVar4" identifier + identifier)) ;) (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) (if_statement "if ((int)puVar12 < (int)__n) break;" if (parenthesized_expression "((int)puVar12 < (int)__n)" ( (binary_expression "(int)puVar12 < (int)__n" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000723a0:\n                      puVar15 = local_7c;" statement_identifier : (expression_statement "puVar15 = local_7c;" (assignment_expression "puVar15 = local_7c" identifier = identifier) ;)) (if_statement "if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }" if (parenthesized_expression "(puVar7 != puVar10)" ( (binary_expression "puVar7 != puVar10" identifier != identifier) )) (compound_statement "{\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = local_7c + iVar4;" (assignment_expression "puVar15 = local_7c + iVar4" identifier = (binary_expression "local_7c + iVar4" identifier + identifier)) ;) (if_statement "if ((int)local_38 < (int)local_48) goto LAB_000724b2;" if (parenthesized_expression "((int)local_38 < (int)local_48)" ( (binary_expression "(int)local_38 < (int)local_48" (cast_expression "(int)local_38" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000724b2;" goto statement_identifier ;)) (expression_statement "local_38 = local_48;" (assignment_expression "local_38 = local_48" identifier = identifier) ;) })) (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = puVar15 + iVar4;" (assignment_expression "puVar15 = puVar15 + iVar4" identifier = (binary_expression "puVar15 + iVar4" identifier + identifier)) ;) (if_statement "if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;" if (parenthesized_expression "((int)__n < (int)(local_48 + (int)puVar15))" ( (binary_expression "(int)__n < (int)(local_48 + (int)puVar15)" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)(local_48 + (int)puVar15)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_48 + (int)puVar15)" ( (binary_expression "local_48 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) )) (goto_statement "goto LAB_000724b2;" goto statement_identifier ;)) (expression_statement "FUN_00069170(local_98 + (int)puVar15);" (call_expression "FUN_00069170(local_98 + (int)puVar15)" identifier (argument_list "(local_98 + (int)puVar15)" ( (binary_expression "local_98 + (int)puVar15" identifier + (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "puVar15 = puVar15 + (int)local_48;" (assignment_expression "puVar15 = puVar15 + (int)local_48" identifier = (binary_expression "puVar15 + (int)local_48" identifier + (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c)" identifier (argument_list "(&local_64,&local_54," term=%.*s",local_38,local_3c)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" term=%.*s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "FUN_00071a60((int)local_80 - (int)puVar15);" (call_expression "FUN_00071a60((int)local_80 - (int)puVar15)" identifier (argument_list "((int)local_80 - (int)puVar15)" ( (binary_expression "(int)local_80 - (int)puVar15" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (if_statement "if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;" if (parenthesized_expression "(((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0))" ( (binary_expression "((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)" (parenthesized_expression "((int)__n <= (int)puVar12)" ( (binary_expression "(int)__n <= (int)puVar12" (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "(puVar10 = puVar12, local_64 != (undefined1 *)0x0)" ( (comma_expression "puVar10 = puVar12, local_64 != (undefined1 *)0x0" (assignment_expression "puVar10 = puVar12" identifier = identifier) , (binary_expression "local_64 != (undefined1 *)0x0" identifier != (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_00071fa2;" goto statement_identifier ;)) })) (expression_statement "FUN_000360b0();" (call_expression "FUN_000360b0()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_80 = local_48 + (int)local_7c;" (assignment_expression "local_80 = local_48 + (int)local_7c" identifier = (binary_expression "local_48 + (int)local_7c" identifier + (cast_expression "(int)local_7c" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;" if (parenthesized_expression "((int)local_80 <= (int)puVar7)" ( (binary_expression "(int)local_80 <= (int)puVar7" (cast_expression "(int)local_80" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000723a0;" goto statement_identifier ;)) (labeled_statement "LAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;" statement_identifier : (expression_statement "local_64 = (undefined1 *)0x10b;" (assignment_expression "local_64 = (undefined1 *)0x10b" identifier = (cast_expression "(undefined1 *)0x10b" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) })) (goto_statement "goto LAB_00071fa2;" goto statement_identifier ;) })) }))) }) (else_clause "else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" else (if_statement "if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" if (parenthesized_expression "((int)puVar7 <= (int)__n)" ( (binary_expression "(int)puVar7 <= (int)__n" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" { (if_statement "if (uVar2 == 0) {\n                local_80 = puVar7;\n              }" if (parenthesized_expression "(uVar2 == 0)" ( (binary_expression "uVar2 == 0" identifier == number_literal) )) (compound_statement "{\n                local_80 = puVar7;\n              }" { (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" identifier = identifier) ;) })) (goto_statement "goto LAB_000722bf;" goto statement_identifier ;) })))) (expression_statement "local_64 = (undefined1 *)0x10b;" (assignment_expression "local_64 = (undefined1 *)0x10b" identifier = (cast_expression "(undefined1 *)0x10b" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) }) (else_clause "else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" else (compound_statement "{\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" { (expression_statement "local_5c = (undefined1 *)0x0;" (assignment_expression "local_5c = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" identifier = (cast_expression "(undefined1 **)0x0" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);" (assignment_expression "puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" identifier = (cast_expression "(undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" ( (binary_expression "(uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff" (binary_expression "(uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100" (cast_expression "(uint)(byte)local_98[3]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)local_98[3]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_98[3]" identifier [ number_literal ]))) + (binary_expression "(uint)(byte)local_98[2] * 0x100" (cast_expression "(uint)(byte)local_98[2]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)local_98[2]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "local_98[2]" identifier [ number_literal ]))) * number_literal)) & number_literal) )))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "local_84 = puVar10;" (assignment_expression "local_84 = puVar10" identifier = identifier) ;) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" identifier = identifier) ;) (if_statement "if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }" if (parenthesized_expression "((int)puVar10 < (int)__n)" ( (binary_expression "(int)puVar10 < (int)__n" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_84 = puVar10 + iVar4;" (assignment_expression "local_84 = puVar10 + iVar4" identifier = (binary_expression "puVar10 + iVar4" identifier + identifier)) ;) (expression_statement "puVar7 = local_60;" (assignment_expression "puVar7 = local_60" identifier = identifier) ;) })) (expression_statement "local_60 = puVar7;" (assignment_expression "local_60 = puVar7" identifier = identifier) ;) (expression_statement "FUN_000718e0(local_60 + -4);" (call_expression "FUN_000718e0(local_60 + -4)" identifier (argument_list "(local_60 + -4)" ( (binary_expression "local_60 + -4" identifier + number_literal) ))) ;) (for_statement "for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }" for ( (assignment_expression "puVar7 = local_60" identifier = identifier) ; (binary_expression "(int)puVar7 < (int)puVar10" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier)) ; (assignment_expression "puVar7 = puVar7 + iVar4" identifier = (binary_expression "puVar7 + iVar4" identifier + identifier)) ) (compound_statement "{\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_38 = local_5c;" (assignment_expression "local_38 = local_5c" identifier = identifier) ;) (expression_statement "FUN_00069170(local_98 + (int)(puVar7 + iVar4));" (call_expression "FUN_00069170(local_98 + (int)(puVar7 + iVar4))" identifier (argument_list "(local_98 + (int)(puVar7 + iVar4))" ( (binary_expression "local_98 + (int)(puVar7 + iVar4)" identifier + (cast_expression "(int)(puVar7 + iVar4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar7 + iVar4)" ( (binary_expression "puVar7 + iVar4" identifier + identifier) )))) ))) ;) (expression_statement "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c)" identifier (argument_list "(&local_64,&local_54," term=%.*s",local_38,local_3c)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" term=%.*s"" " string_content ") , identifier , identifier ))) ;) (expression_statement "puVar12 = puVar7 + iVar4 + (int)local_58;" (assignment_expression "puVar12 = puVar7 + iVar4 + (int)local_58" identifier = (binary_expression "puVar7 + iVar4 + (int)local_58" (binary_expression "puVar7 + iVar4" identifier + identifier) + (cast_expression "(int)local_58" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" identifier = identifier) ;) (if_statement "if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }" if (parenthesized_expression "((int)local_84 < (int)__n)" ( (binary_expression "(int)local_84 < (int)__n" (cast_expression "(int)local_84" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)__n" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }" { (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) (expression_statement "local_84 = local_84 + iVar4;" (assignment_expression "local_84 = local_84 + iVar4" identifier = (binary_expression "local_84 + iVar4" identifier + identifier)) ;) (expression_statement "puVar7 = local_48 + (int)local_60;" (assignment_expression "puVar7 = local_48 + (int)local_60" identifier = (binary_expression "local_48 + (int)local_60" identifier + (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier))) ;) })) (expression_statement "local_60 = puVar7;" (assignment_expression "local_60 = puVar7" identifier = identifier) ;) (expression_statement "FUN_000718e0((int)puVar7 - (int)puVar12);" (call_expression "FUN_000718e0((int)puVar7 - (int)puVar12)" identifier (argument_list "((int)puVar7 - (int)puVar12)" ( (binary_expression "(int)puVar7 - (int)puVar12" (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) (expression_statement "puVar7 = local_60;" (assignment_expression "puVar7 = local_60" identifier = identifier) ;) (if_statement "if ((int)puVar10 <= (int)local_60) break;" if (parenthesized_expression "((int)puVar10 <= (int)local_60)" ( (binary_expression "(int)puVar10 <= (int)local_60" (cast_expression "(int)puVar10" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)local_60" ( (type_descriptor "int" primitive_type) ) identifier)) )) (break_statement "break;" break ;)) (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" identifier = (call_expression "FUN_000360b0()" identifier (argument_list "()" ( )))) ;) })) (labeled_statement "LAB_00071fa2:\n            FUN_00027e40();" statement_identifier : (expression_statement "FUN_00027e40();" (call_expression "FUN_00027e40()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) }))) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) (expression_statement "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);" (call_expression "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5)" identifier (argument_list "(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal ""{%ssegid=%d h=%d pgno=%d}"" " string_content ") , (string_literal ""dlidx "" " string_content ") , identifier , identifier , identifier ))) ;) }))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);" do (compound_statement "{\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      }" { (expression_statement "*(undefined4 *)((int)&local_38 + uVar8) = 0;" (assignment_expression "*(undefined4 *)((int)&local_38 + uVar8) = 0" (pointer_expression "*(undefined4 *)((int)&local_38 + uVar8)" * (cast_expression "(undefined4 *)((int)&local_38 + uVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_38 + uVar8)" ( (binary_expression "(int)&local_38 + uVar8" (cast_expression "(int)&local_38" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_38" & identifier)) + identifier) )))) = number_literal) ;) (expression_statement "uVar8 = uVar8 + 4;" (assignment_expression "uVar8 = uVar8 + 4" identifier = (binary_expression "uVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 < 0x18)" ( (binary_expression "uVar8 < 0x18" identifier < number_literal) )) ;) (expression_statement "local_3c = &local_48;" (assignment_expression "local_3c = &local_48" identifier = (pointer_expression "&local_48" & identifier)) ;) (expression_statement "local_48 = local_98;" (assignment_expression "local_48 = local_98" identifier = identifier) ;) (expression_statement "local_44 = __n;" (assignment_expression "local_44 = __n" identifier = identifier) ;) (expression_statement "local_2c = uVar5;" (assignment_expression "local_2c = uVar5" identifier = identifier) ;) (expression_statement "FUN_00036530();" (call_expression "FUN_00036530()" identifier (argument_list "()" ( ))) ;) (while_statement "while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }" while (parenthesized_expression "(puVar7 = local_64, local_34 == 0)" ( (comma_expression "puVar7 = local_64, local_34 == 0" (assignment_expression "puVar7 = local_64" identifier = identifier) , (binary_expression "local_34 == 0" identifier == number_literal)) )) (compound_statement "{\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }" { (expression_statement "FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);" (call_expression "FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24)" identifier (argument_list "(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24)" ( (pointer_expression "&local_64" & identifier) , (pointer_expression "&local_54" & identifier) , (string_literal "" %d(%lld)"" " string_content ") , identifier , identifier , identifier ))) ;) (expression_statement "FUN_00036530();" (call_expression "FUN_00036530()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto LAB_00071dac;" goto statement_identifier ;) })) })) (expression_statement "local_98 = (undefined1 *)0x0;" (assignment_expression "local_98 = (undefined1 *)0x0" identifier = (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" identifier = identifier) ;) (labeled_statement "LAB_00071dac:\n  local_64 = puVar7;" statement_identifier : (expression_statement "local_64 = puVar7;" (assignment_expression "local_64 = puVar7" identifier = identifier) ;)) (expression_statement "FUN_000264d0(local_98);" (call_expression "FUN_000264d0(local_98)" identifier (argument_list "(local_98)" ( identifier ))) ;) (if_statement "if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }" if (parenthesized_expression "(local_64 == (undefined1 *)0x0)" ( (binary_expression "local_64 == (undefined1 *)0x0" identifier == (cast_expression "(undefined1 *)0x0" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }" { (expression_statement "FUN_00047c90(param_1,local_54,local_50,0xffffffff);" (call_expression "FUN_00047c90(param_1,local_54,local_50,0xffffffff)" identifier (argument_list "(param_1,local_54,local_50,0xffffffff)" ( identifier , identifier , identifier , number_literal ))) ;) }) (else_clause "else {\n    FUN_000475e0(param_1,local_64);\n  }" else (compound_statement "{\n    FUN_000475e0(param_1,local_64);\n  }" { (expression_statement "FUN_000475e0(param_1,local_64);" (call_expression "FUN_000475e0(param_1,local_64)" identifier (argument_list "(param_1,local_64)" ( identifier , identifier ))) ;) }))) (expression_statement "FUN_00027e40();" (call_expression "FUN_00027e40()" identifier (argument_list "()" ( ))) ;) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\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    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_000f6410();" (call_expression "FUN_000f6410()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (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 ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (pointer_expression & IDENT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) )))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) < LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , (pointer_expression & IDENT) , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (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 ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)))) ))) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (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 ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) })) (goto_statement goto statement_identifier ;) })) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) * LIT)) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) (for_statement for ( (assignment_expression IDENT = IDENT) ; (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ; (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & IDENT)) + IDENT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , (pointer_expression & IDENT) , (string_literal " string_content ") , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (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 (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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 { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)\n\n{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000f6410();\n}" (primitive_type "void") (function_declarator "FUN_00071c40(undefined4 param_1,undefined4 param_2,undefined4 *param_3)" (identifier "FUN_00071c40") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 *param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  undefined4 *puVar1;\n  ushort uVar2;\n  undefined1 **ppuVar3;\n  int iVar4;\n  size_t __n;\n  void *__src;\n  uint uVar5;\n  uint uVar6;\n  undefined1 *puVar7;\n  uint uVar8;\n  uint uVar9;\n  undefined1 *puVar10;\n  undefined1 **ppuVar11;\n  undefined1 *puVar12;\n  undefined *puVar13;\n  int iVar14;\n  undefined1 *puVar15;\n  int in_GS_OFFSET;\n  longlong lVar16;\n  int local_9c;\n  undefined1 *local_98;\n  undefined1 *local_84;\n  undefined1 *local_80;\n  undefined1 *local_7c;\n  undefined1 *local_64;\n  undefined1 *local_60;\n  undefined1 *local_5c;\n  undefined1 *local_58;\n  undefined4 local_54;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined1 *local_48;\n  size_t local_44;\n  undefined1 **local_3c;\n  undefined1 *local_38;\n  int local_34;\n  uint local_2c;\n  undefined4 local_28;\n  undefined4 local_24;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x71c49;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_64 = (undefined1 *)0x0;\n  iVar4 = FUN_0001d2c0(param_1);\n  local_54 = 0;\n  local_50 = 0;\n  local_4c = 0;\n  lVar16 = FUN_0002d350(*param_3);\n  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);\n  __n = FUN_0004e4c0(param_3[1]);\n  __src = (void *)FUN_0004e6c0(param_3[1]);\n  if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }\n  local_98 = (undefined1 *)0x0;\n  puVar7 = local_64;\nLAB_00071dac:\n  local_64 = puVar7;\n  FUN_000264d0(local_98);\n  if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }\n  FUN_00027e40();\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_000f6410();\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "ushort uVar2;" (type_identifier "ushort") (identifier "uVar2") (; ";")) (declaration "undefined1 **ppuVar3;" (type_identifier "undefined1") (pointer_declarator "**ppuVar3" (* "*") (pointer_declarator "*ppuVar3" (* "*") (identifier "ppuVar3"))) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "void *__src;" (primitive_type "void") (pointer_declarator "*__src" (* "*") (identifier "__src")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "undefined1 *puVar10;" (type_identifier "undefined1") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined1 **ppuVar11;" (type_identifier "undefined1") (pointer_declarator "**ppuVar11" (* "*") (pointer_declarator "*ppuVar11" (* "*") (identifier "ppuVar11"))) (; ";")) (declaration "undefined1 *puVar12;" (type_identifier "undefined1") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined *puVar13;" (type_identifier "undefined") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "longlong lVar16;" (type_identifier "longlong") (identifier "lVar16") (; ";")) (declaration "int local_9c;" (primitive_type "int") (identifier "local_9c") (; ";")) (declaration "undefined1 *local_98;" (type_identifier "undefined1") (pointer_declarator "*local_98" (* "*") (identifier "local_98")) (; ";")) (declaration "undefined1 *local_84;" (type_identifier "undefined1") (pointer_declarator "*local_84" (* "*") (identifier "local_84")) (; ";")) (declaration "undefined1 *local_80;" (type_identifier "undefined1") (pointer_declarator "*local_80" (* "*") (identifier "local_80")) (; ";")) (declaration "undefined1 *local_7c;" (type_identifier "undefined1") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")) (; ";")) (declaration "undefined1 *local_64;" (type_identifier "undefined1") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "undefined1 *local_60;" (type_identifier "undefined1") (pointer_declarator "*local_60" (* "*") (identifier "local_60")) (; ";")) (declaration "undefined1 *local_5c;" (type_identifier "undefined1") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c")) (; ";")) (declaration "undefined1 *local_58;" (type_identifier "undefined1") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "undefined4 local_54;" (type_identifier "undefined4") (identifier "local_54") (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined1 *local_48;" (type_identifier "undefined1") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "size_t local_44;" (primitive_type "size_t") (identifier "local_44") (; ";")) (declaration "undefined1 **local_3c;" (type_identifier "undefined1") (pointer_declarator "**local_3c" (* "*") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c"))) (; ";")) (declaration "undefined1 *local_38;" (type_identifier "undefined1") (pointer_declarator "*local_38" (* "*") (identifier "local_38")) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "uint local_2c;" (type_identifier "uint") (identifier "local_2c") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "undefined4 local_24;" (type_identifier "undefined4") (identifier "local_24") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x71c49;" (assignment_expression "uStack_14 = 0x71c49" (identifier "uStack_14") (= "=") (number_literal "0x71c49")) (; ";")) (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_64 = (undefined1 *)0x0;" (assignment_expression "local_64 = (undefined1 *)0x0" (identifier "local_64") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar4 = FUN_0001d2c0(param_1);" (assignment_expression "iVar4 = FUN_0001d2c0(param_1)" (identifier "iVar4") (= "=") (call_expression "FUN_0001d2c0(param_1)" (identifier "FUN_0001d2c0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "lVar16 = FUN_0002d350(*param_3);" (assignment_expression "lVar16 = FUN_0002d350(*param_3)" (identifier "lVar16") (= "=") (call_expression "FUN_0002d350(*param_3)" (identifier "FUN_0002d350") (argument_list "(*param_3)" (( "(") (pointer_expression "*param_3" (* "*") (identifier "param_3")) () ")")))) (; ";")) (expression_statement "uVar8 = (uint)((ulonglong)lVar16 >> 0x20);" (assignment_expression "uVar8 = (uint)((ulonglong)lVar16 >> 0x20)" (identifier "uVar8") (= "=") (call_expression "(uint)((ulonglong)lVar16 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)lVar16 >> 0x20)" (( "(") (binary_expression "(ulonglong)lVar16 >> 0x20" (cast_expression "(ulonglong)lVar16" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "lVar16")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "__n = FUN_0004e4c0(param_3[1]);" (assignment_expression "__n = FUN_0004e4c0(param_3[1])" (identifier "__n") (= "=") (call_expression "FUN_0004e4c0(param_3[1])" (identifier "FUN_0004e4c0") (argument_list "(param_3[1])" (( "(") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "__src = (void *)FUN_0004e6c0(param_3[1]);" (assignment_expression "__src = (void *)FUN_0004e6c0(param_3[1])" (identifier "__src") (= "=") (cast_expression "(void *)FUN_0004e6c0(param_3[1])" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0004e6c0(param_3[1])" (identifier "FUN_0004e6c0") (argument_list "(param_3[1])" (( "(") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) () ")"))))) (; ";")) (if_statement "if (local_64 == (undefined1 *)0x0) {\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }" (if "if") (parenthesized_expression "(local_64 == (undefined1 *)0x0)" (( "(") (binary_expression "local_64 == (undefined1 *)0x0" (identifier "local_64") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_98 = (undefined1 *)FUN_00040980();\n    if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }\n  }" ({ "{") (expression_statement "local_98 = (undefined1 *)FUN_00040980();" (assignment_expression "local_98 = (undefined1 *)FUN_00040980()" (identifier "local_98") (= "=") (cast_expression "(undefined1 *)FUN_00040980()" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00040980()" (identifier "FUN_00040980") (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (local_98 != (undefined1 *)0x0) {\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }" (if "if") (parenthesized_expression "(local_98 != (undefined1 *)0x0)" (( "(") (binary_expression "local_98 != (undefined1 *)0x0" (identifier "local_98") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }\n      uVar5 = (uint)lVar16 & 0x7fffffff;\n      uVar9 = (int)uVar8 >> 4 & 1;\n      uVar6 = (int)uVar8 >> 5 & 0xffff;\n      if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }\n      uVar8 = 0;\n      do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);\n      local_3c = &local_48;\n      local_48 = local_98;\n      local_44 = __n;\n      local_2c = uVar5;\n      FUN_00036530();\n      while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }\n      goto LAB_00071dac;\n    }" ({ "{") (if_statement "if (0 < (int)__n) {\n        memcpy(local_98,__src,__n);\n      }" (if "if") (parenthesized_expression "(0 < (int)__n)" (( "(") (binary_expression "0 < (int)__n" (number_literal "0") (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n        memcpy(local_98,__src,__n);\n      }" ({ "{") (expression_statement "memcpy(local_98,__src,__n);" (call_expression "memcpy(local_98,__src,__n)" (identifier "memcpy") (argument_list "(local_98,__src,__n)" (( "(") (identifier "local_98") (, ",") (identifier "__src") (, ",") (identifier "__n") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar5 = (uint)lVar16 & 0x7fffffff;" (assignment_expression "uVar5 = (uint)lVar16 & 0x7fffffff" (identifier "uVar5") (= "=") (binary_expression "(uint)lVar16 & 0x7fffffff" (cast_expression "(uint)lVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar16")) (& "&") (number_literal "0x7fffffff"))) (; ";")) (expression_statement "uVar9 = (int)uVar8 >> 4 & 1;" (assignment_expression "uVar9 = (int)uVar8 >> 4 & 1" (identifier "uVar9") (= "=") (binary_expression "(int)uVar8 >> 4 & 1" (binary_expression "(int)uVar8 >> 4" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "4")) (& "&") (number_literal "1"))) (; ";")) (expression_statement "uVar6 = (int)uVar8 >> 5 & 0xffff;" (assignment_expression "uVar6 = (int)uVar8 >> 5 & 0xffff" (identifier "uVar6") (= "=") (binary_expression "(int)uVar8 >> 5 & 0xffff" (binary_expression "(int)uVar8 >> 5" (cast_expression "(int)uVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar8")) (>> ">>") (number_literal "5")) (& "&") (number_literal "0xffff"))) (; ";")) (if_statement "if (uVar6 == 0) {\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }\n      else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" (if "if") (parenthesized_expression "(uVar6 == 0)" (( "(") (binary_expression "uVar6 == 0" (identifier "uVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }\n      }" ({ "{") (if_statement "if (lVar16 == 1) {\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }\n        else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" (if "if") (parenthesized_expression "(lVar16 == 1)" (( "(") (binary_expression "lVar16 == 1" (identifier "lVar16") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{averages} ");\n          if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }\n        }" ({ "{") (expression_statement "FUN_00071860(&local_64,&local_54,"{averages} ");" (call_expression "FUN_00071860(&local_64,&local_54,"{averages} ")" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54,"{averages} ")" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal ""{averages} "" (" """) (string_content "{averages} ") (" """)) () ")"))) (; ";")) (if_statement "if (uVar9 == 0) {\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar7 = local_64;\n            if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }\n            goto LAB_00071dac;\n          }" ({ "{") (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (if_statement "if (0 < (int)__n) {\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }" (if "if") (parenthesized_expression "(0 < (int)__n)" (( "(") (binary_expression "0 < (int)__n" (number_literal "0") (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n              iVar4 = 0;\n              puVar13 = &DAT_000f7177;\n              do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);\n            }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar13 = &DAT_000f7177;" (assignment_expression "puVar13 = &DAT_000f7177" (identifier "puVar13") (= "=") (pointer_expression "&DAT_000f7177" (& "&") (identifier "DAT_000f7177"))) (; ";")) (do_statement "do {\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              } while (iVar4 < (int)__n);" (do "do") (compound_statement "{\n                uVar8 = FUN_0001bef0();\n                iVar4 = iVar4 + (uVar8 & 0xff);\n                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);\n                puVar13 = &DAT_000fa0a2;\n                puVar7 = local_64;\n              }" ({ "{") (expression_statement "uVar8 = FUN_0001bef0();" (assignment_expression "uVar8 = FUN_0001bef0()" (identifier "uVar8") (= "=") (call_expression "FUN_0001bef0()" (identifier "FUN_0001bef0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + (uVar8 & 0xff);" (assignment_expression "iVar4 = iVar4 + (uVar8 & 0xff)" (identifier "iVar4") (= "=") (binary_expression "iVar4 + (uVar8 & 0xff)" (identifier "iVar4") (+ "+") (parenthesized_expression "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")")))) (; ";")) (expression_statement "FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (pointer_expression "&DAT_000f73e1" (& "&") (identifier "DAT_000f73e1")) (, ",") (identifier "puVar13") (, ",") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "puVar13 = &DAT_000fa0a2;" (assignment_expression "puVar13 = &DAT_000fa0a2" (identifier "puVar13") (= "=") (pointer_expression "&DAT_000fa0a2" (& "&") (identifier "DAT_000fa0a2"))) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 < (int)__n)" (( "(") (binary_expression "iVar4 < (int)__n" (identifier "iVar4") (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00071dac;" (goto "goto") (statement_identifier "LAB_00071dac") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" (else "else") (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{structure}");\n          if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }\n        }" ({ "{") (expression_statement "FUN_00071860(&local_64,&local_54,"{structure}");" (call_expression "FUN_00071860(&local_64,&local_54,"{structure}")" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54,"{structure}")" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal ""{structure}"" (" """) (string_content "{structure}") (" """)) () ")"))) (; ";")) (if_statement "if (uVar9 == 0) {\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_3c = (undefined1 **)0x0;\n            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);\n            ppuVar3 = local_3c;\n            if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }\n            goto LAB_00071dac;\n          }" ({ "{") (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" (identifier "local_3c") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar7 = (undefined1 *)FUN_000409f0(&local_3c);" (assignment_expression "puVar7 = (undefined1 *)FUN_000409f0(&local_3c)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)FUN_000409f0(&local_3c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000409f0(&local_3c)" (identifier "FUN_000409f0") (argument_list "(&local_3c)" (( "(") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")"))))) (; ";")) (expression_statement "ppuVar3 = local_3c;" (assignment_expression "ppuVar3 = local_3c" (identifier "ppuVar3") (= "=") (identifier "local_3c")) (; ";")) (if_statement "if (puVar7 == (undefined1 *)0x0) {\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }" (if "if") (parenthesized_expression "(puVar7 == (undefined1 *)0x0)" (( "(") (binary_expression "puVar7 == (undefined1 *)0x0" (identifier "puVar7") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }\n              puVar10 = *local_3c;\n              *local_3c = puVar10 + -1;\n              puVar7 = local_64;\n              if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }\n            }" ({ "{") (if_statement "if (0 < (int)local_3c[4]) {\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }" (if "if") (parenthesized_expression "(0 < (int)local_3c[4])" (( "(") (binary_expression "0 < (int)local_3c[4]" (number_literal "0") (< "<") (cast_expression "(int)local_3c[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_3c[4]" (identifier "local_3c") ([ "[") (number_literal "4") (] "]")))) () ")")) (compound_statement "{\n                ppuVar11 = local_3c + 5;\n                local_9c = 0;\n                do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);\n                puVar7 = local_64;\n                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;\n              }" ({ "{") (expression_statement "ppuVar11 = local_3c + 5;" (assignment_expression "ppuVar11 = local_3c + 5" (identifier "ppuVar11") (= "=") (binary_expression "local_3c + 5" (identifier "local_3c") (+ "+") (number_literal "5"))) (; ";")) (expression_statement "local_9c = 0;" (assignment_expression "local_9c = 0" (identifier "local_9c") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                } while (local_9c < (int)ppuVar3[4]);" (do "do") (compound_statement "{\n                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);\n                  iVar4 = 0;\n                  if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }\n                  ppuVar11 = ppuVar11 + 3;\n                  FUN_00071860(&local_64,&local_54,"}");\n                  local_9c = local_9c + 1;\n                }" ({ "{") (expression_statement "FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1]);" (call_expression "FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1])" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,\n                               ppuVar11[1])" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal "" {lvl=%d nMerge=%d nSeg=%d"" (" """) (string_content " {lvl=%d nMerge=%d nSeg=%d") (" """)) (, ",") (identifier "local_9c") (, ",") (pointer_expression "*ppuVar11" (* "*") (identifier "ppuVar11")) (, ",") (subscript_expression "ppuVar11[1]" (identifier "ppuVar11") ([ "[") (number_literal "1") (] "]")) () ")"))) (; ";")) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < (int)ppuVar11[1]) {\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }" (if "if") (parenthesized_expression "(0 < (int)ppuVar11[1])" (( "(") (binary_expression "0 < (int)ppuVar11[1]" (number_literal "0") (< "<") (cast_expression "(int)ppuVar11[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar11[1]" (identifier "ppuVar11") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n                    do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);\n                  }" ({ "{") (do_statement "do {\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    } while (iVar14 < (int)ppuVar11[1]);" (do "do") (compound_statement "{\n                      iVar14 = iVar4 + 1;\n                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);\n                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);\n                      iVar4 = iVar14;\n                    }" ({ "{") (expression_statement "iVar14 = iVar4 + 1;" (assignment_expression "iVar14 = iVar4 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);" (assignment_expression "puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)(ppuVar11[2] + iVar4 * 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppuVar11[2] + iVar4 * 0xc)" (( "(") (binary_expression "ppuVar11[2] + iVar4 * 0xc" (subscript_expression "ppuVar11[2]" (identifier "ppuVar11") ([ "[") (number_literal "2") (] "]")) (+ "+") (binary_expression "iVar4 * 0xc" (identifier "iVar4") (* "*") (number_literal "0xc"))) () ")")))) (; ";")) (expression_statement "FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2]);" (call_expression "FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2])" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],\n                                   puVar1[2])" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal "" {id=%d leaves=%d..%d}"" (" """) (string_content " {id=%d leaves=%d..%d}") (" """)) (, ",") (pointer_expression "*puVar1" (* "*") (identifier "puVar1")) (, ",") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]")) (, ",") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]")) () ")"))) (; ";")) (expression_statement "iVar4 = iVar14;" (assignment_expression "iVar4 = iVar14" (identifier "iVar4") (= "=") (identifier "iVar14")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar14 < (int)ppuVar11[1])" (( "(") (binary_expression "iVar14 < (int)ppuVar11[1]" (identifier "iVar14") (< "<") (cast_expression "(int)ppuVar11[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar11[1]" (identifier "ppuVar11") ([ "[") (number_literal "1") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "ppuVar11 = ppuVar11 + 3;" (assignment_expression "ppuVar11 = ppuVar11 + 3" (identifier "ppuVar11") (= "=") (binary_expression "ppuVar11 + 3" (identifier "ppuVar11") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "FUN_00071860(&local_64,&local_54,"}");" (call_expression "FUN_00071860(&local_64,&local_54,"}")" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54,"}")" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal ""}"" (" """) (string_content "}") (" """)) () ")"))) (; ";")) (expression_statement "local_9c = local_9c + 1;" (assignment_expression "local_9c = local_9c + 1" (identifier "local_9c") (= "=") (binary_expression "local_9c + 1" (identifier "local_9c") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_9c < (int)ppuVar3[4])" (( "(") (binary_expression "local_9c < (int)ppuVar3[4]" (identifier "local_9c") (< "<") (cast_expression "(int)ppuVar3[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppuVar3[4]" (identifier "ppuVar3") ([ "[") (number_literal "4") (] "]")))) () ")")) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (if_statement "if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;" (if "if") (parenthesized_expression "(local_3c == (undefined1 **)0x0)" (( "(") (binary_expression "local_3c == (undefined1 **)0x0" (identifier "local_3c") (== "==") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00071dac;" (goto "goto") (statement_identifier "LAB_00071dac") (; ";"))) (} "}"))) (expression_statement "puVar10 = *local_3c;" (assignment_expression "puVar10 = *local_3c" (identifier "puVar10") (= "=") (pointer_expression "*local_3c" (* "*") (identifier "local_3c"))) (; ";")) (expression_statement "*local_3c = puVar10 + -1;" (assignment_expression "*local_3c = puVar10 + -1" (pointer_expression "*local_3c" (* "*") (identifier "local_3c")) (= "=") (binary_expression "puVar10 + -1" (identifier "puVar10") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (if_statement "if ((int)(puVar10 + -1) < 1) {\n                FUN_000346e0();\n                puVar7 = local_64;\n              }" (if "if") (parenthesized_expression "((int)(puVar10 + -1) < 1)" (( "(") (binary_expression "(int)(puVar10 + -1) < 1" (cast_expression "(int)(puVar10 + -1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar10 + -1)" (( "(") (binary_expression "puVar10 + -1" (identifier "puVar10") (+ "+") (number_literal "-1")) () ")"))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n                FUN_000346e0();\n                puVar7 = local_64;\n              }" ({ "{") (expression_statement "FUN_000346e0();" (call_expression "FUN_000346e0()" (identifier "FUN_000346e0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (} "}"))) (} "}"))) (goto_statement "goto LAB_00071dac;" (goto "goto") (statement_identifier "LAB_00071dac") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else {\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" (else "else") (compound_statement "{\n        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;\n        if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }\n        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);\n      }" ({ "{") (expression_statement "uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;" (assignment_expression "uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1" (identifier "uVar8") (= "=") (binary_expression "(uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1" (binary_expression "(uint)lVar16 >> 0x1f" (cast_expression "(uint)lVar16" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "lVar16")) (>> ">>") (number_literal "0x1f")) (| "|") (binary_expression "(uVar8 & 0xf) << 1" (parenthesized_expression "(uVar8 & 0xf)" (( "(") (binary_expression "uVar8 & 0xf" (identifier "uVar8") (& "&") (number_literal "0xf")) () ")")) (<< "<<") (number_literal "1")))) (; ";")) (if_statement "if (uVar9 == 0) {\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);\n          if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }\n          goto LAB_00071dac;\n        }" ({ "{") (expression_statement "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5);" (call_expression "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,\n                       uVar5)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal ""{%ssegid=%d h=%d pgno=%d}"" (" """) (string_content "{%ssegid=%d h=%d pgno=%d}") (" """)) (, ",") (pointer_expression "&DAT_000f7177" (& "&") (identifier "DAT_000f7177")) (, ",") (identifier "uVar6") (, ",") (identifier "uVar8") (, ",") (identifier "uVar5") () ")"))) (; ";")) (if_statement "if (iVar4 == 0) {\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }\n          else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_58 = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            local_34 = 0;\n            if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }\n            uVar2 = CONCAT11(*local_98,local_98[1]);\n            local_80 = (undefined1 *)(uint)uVar2;\n            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);\n            if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }\n            local_64 = (undefined1 *)0x10b;\n            puVar7 = local_64;\n          }" ({ "{") (expression_statement "local_58 = (undefined1 *)0x0;" (assignment_expression "local_58 = (undefined1 *)0x0" (identifier "local_58") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" (identifier "local_3c") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)__n < 4) {\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }" (if "if") (parenthesized_expression "((int)__n < 4)" (( "(") (binary_expression "(int)__n < 4" (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n              local_50 = 0;\n              FUN_00069170("corrupt");\n              puVar7 = local_64;\n              goto LAB_00071dac;\n            }" ({ "{") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00069170("corrupt");" (call_expression "FUN_00069170("corrupt")" (identifier "FUN_00069170") (argument_list "("corrupt")" (( "(") (string_literal ""corrupt"" (" """) (string_content "corrupt") (" """)) () ")"))) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (goto_statement "goto LAB_00071dac;" (goto "goto") (statement_identifier "LAB_00071dac") (; ";")) (} "}"))) (expression_statement "uVar2 = CONCAT11(*local_98,local_98[1]);" (assignment_expression "uVar2 = CONCAT11(*local_98,local_98[1])" (identifier "uVar2") (= "=") (call_expression "CONCAT11(*local_98,local_98[1])" (identifier "CONCAT11") (argument_list "(*local_98,local_98[1])" (( "(") (pointer_expression "*local_98" (* "*") (identifier "local_98")) (, ",") (subscript_expression "local_98[1]" (identifier "local_98") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "local_80 = (undefined1 *)(uint)uVar2;" (assignment_expression "local_80 = (undefined1 *)(uint)uVar2" (identifier "local_80") (= "=") (cast_expression "(undefined1 *)(uint)uVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)uVar2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "uVar2")))) (; ";")) (expression_statement "puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);" (assignment_expression "puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3])" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)(uint)CONCAT11(local_98[2],local_98[3])" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)CONCAT11(local_98[2],local_98[3])" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (call_expression "CONCAT11(local_98[2],local_98[3])" (identifier "CONCAT11") (argument_list "(local_98[2],local_98[3])" (( "(") (subscript_expression "local_98[2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "local_98[3]" (identifier "local_98") ([ "[") (number_literal "3") (] "]")) () ")")))))) (; ";")) (if_statement "if ((int)puVar7 < (int)__n) {\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }\n            else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" (if "if") (parenthesized_expression "((int)puVar7 < (int)__n)" (( "(") (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n              FUN_000360b0();\n              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }\nLAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }\n            }" ({ "{") (expression_statement "FUN_000360b0();" (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {\n                local_80 = puVar7;\n              }" (if "if") (parenthesized_expression "((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0))" (( "(") (binary_expression "(uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)" (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(local_80 = local_58, local_58 == (undefined1 *)0x0)" (( "(") (comma_expression "local_80 = local_58, local_58 == (undefined1 *)0x0" (assignment_expression "local_80 = local_58" (identifier "local_80") (= "=") (identifier "local_58")) (, ",") (binary_expression "local_58 == (undefined1 *)0x0" (identifier "local_58") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n                local_80 = puVar7;\n              }" ({ "{") (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" (identifier "local_80") (= "=") (identifier "puVar7")) (; ";")) (} "}"))) (labeled_statement "LAB_000722bf:\n              if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" (statement_identifier "LAB_000722bf") (: ":") (if_statement "if ((int)local_80 <= (int)__n) {\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" (if "if") (parenthesized_expression "((int)local_80 <= (int)__n)" (( "(") (binary_expression "(int)local_80 <= (int)__n" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (<= "<=") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n                if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }\n                puVar10 = local_58;\n                if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }\n                if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }\n              }" ({ "{") (if_statement "if (0 < (int)(local_80 + -4)) {\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }" (if "if") (parenthesized_expression "(0 < (int)(local_80 + -4))" (( "(") (binary_expression "0 < (int)(local_80 + -4)" (number_literal "0") (< "<") (cast_expression "(int)(local_80 + -4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_80 + -4)" (( "(") (binary_expression "local_80 + -4" (identifier "local_80") (+ "+") (number_literal "-4")) () ")")))) () ")")) (compound_statement "{\n                  iVar4 = 0;\n                  do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));\n                }" ({ "{") (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  } while (iVar4 < (int)(local_80 + -4));" (do "do") (compound_statement "{\n                    iVar14 = FUN_000360b0();\n                    iVar4 = iVar4 + iVar14;\n                    FUN_00071860(&local_64,&local_54," %d",local_48);\n                  }" ({ "{") (expression_statement "iVar14 = FUN_000360b0();" (assignment_expression "iVar14 = FUN_000360b0()" (identifier "iVar14") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar4 = iVar4 + iVar14;" (assignment_expression "iVar4 = iVar4 + iVar14" (identifier "iVar4") (= "=") (binary_expression "iVar4 + iVar14" (identifier "iVar4") (+ "+") (identifier "iVar14"))) (; ";")) (expression_statement "FUN_00071860(&local_64,&local_54," %d",local_48);" (call_expression "FUN_00071860(&local_64,&local_54," %d",local_48)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54," %d",local_48)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal "" %d"" (" """) (string_content " %d") (" """)) (, ",") (identifier "local_48") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar4 < (int)(local_80 + -4))" (( "(") (binary_expression "iVar4 < (int)(local_80 + -4)" (identifier "iVar4") (< "<") (cast_expression "(int)(local_80 + -4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_80 + -4)" (( "(") (binary_expression "local_80 + -4" (identifier "local_80") (+ "+") (number_literal "-4")) () ")")))) () ")")) (; ";")) (} "}"))) (expression_statement "puVar10 = local_58;" (assignment_expression "puVar10 = local_58" (identifier "puVar10") (= "=") (identifier "local_58")) (; ";")) (if_statement "if (local_58 == (undefined1 *)0x0) {\n                  puVar10 = puVar7;\n                }" (if "if") (parenthesized_expression "(local_58 == (undefined1 *)0x0)" (( "(") (binary_expression "local_58 == (undefined1 *)0x0" (identifier "local_58") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  puVar10 = puVar7;\n                }" ({ "{") (expression_statement "puVar10 = puVar7;" (assignment_expression "puVar10 = puVar7" (identifier "puVar10") (= "=") (identifier "puVar7")) (; ";")) (} "}"))) (if_statement "if ((int)puVar10 <= (int)__n) {\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }" (if "if") (parenthesized_expression "((int)puVar10 <= (int)__n)" (( "(") (binary_expression "(int)puVar10 <= (int)__n" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (<= "<=") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n                  FUN_00071a60((int)puVar10 - (int)local_80);\n                  if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }\n                  goto LAB_00071fa2;\n                }" ({ "{") (expression_statement "FUN_00071a60((int)puVar10 - (int)local_80);" (call_expression "FUN_00071a60((int)puVar10 - (int)local_80)" (identifier "FUN_00071a60") (argument_list "((int)puVar10 - (int)local_80)" (( "(") (binary_expression "(int)puVar10 - (int)local_80" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (- "-") (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80"))) () ")"))) (; ";")) (if_statement "if (((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }" (if "if") (parenthesized_expression "(((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0))" (( "(") (binary_expression "((int)puVar7 < (int)__n) &&\n                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)" (parenthesized_expression "((int)puVar7 < (int)__n)" (( "(") (binary_expression "(int)puVar7 < (int)__n" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (&& "&&") (parenthesized_expression "(local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)" (( "(") (comma_expression "local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0" (assignment_expression "local_7c = local_64" (identifier "local_7c") (= "=") (identifier "local_64")) (, ",") (comma_expression "puVar10 = puVar7, local_64 == (undefined1 *)0x0" (assignment_expression "puVar10 = puVar7" (identifier "puVar10") (= "=") (identifier "puVar7")) (, ",") (binary_expression "local_64 == (undefined1 *)0x0" (identifier "local_64") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (compound_statement "{\n                    while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }\n                    FUN_000360b0();\n                    local_80 = local_48 + (int)local_7c;\n                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;\nLAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;\n                  }" ({ "{") (while_statement "while( true ) {\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                      iVar4 = FUN_000360b0();\n                      local_7c = local_7c + (int)local_48;\n                      puVar12 = puVar10 + iVar4;\n                      local_80 = puVar7;\n                      if ((int)puVar12 < (int)__n) break;\nLAB_000723a0:\n                      puVar15 = local_7c;\n                      if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }\n                      iVar4 = FUN_000360b0();\n                      puVar15 = puVar15 + iVar4;\n                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;\n                      FUN_00069170(local_98 + (int)puVar15);\n                      puVar15 = puVar15 + (int)local_48;\n                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n                      FUN_00071a60((int)local_80 - (int)puVar15);\n                      if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;\n                    }" ({ "{") (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_7c = local_7c + (int)local_48;" (assignment_expression "local_7c = local_7c + (int)local_48" (identifier "local_7c") (= "=") (binary_expression "local_7c + (int)local_48" (identifier "local_7c") (+ "+") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")))) (; ";")) (expression_statement "puVar12 = puVar10 + iVar4;" (assignment_expression "puVar12 = puVar10 + iVar4" (identifier "puVar12") (= "=") (binary_expression "puVar10 + iVar4" (identifier "puVar10") (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" (identifier "local_80") (= "=") (identifier "puVar7")) (; ";")) (if_statement "if ((int)puVar12 < (int)__n) break;" (if "if") (parenthesized_expression "((int)puVar12 < (int)__n)" (( "(") (binary_expression "(int)puVar12 < (int)__n" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_000723a0:\n                      puVar15 = local_7c;" (statement_identifier "LAB_000723a0") (: ":") (expression_statement "puVar15 = local_7c;" (assignment_expression "puVar15 = local_7c" (identifier "puVar15") (= "=") (identifier "local_7c")) (; ";"))) (if_statement "if (puVar7 != puVar10) {\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }" (if "if") (parenthesized_expression "(puVar7 != puVar10)" (( "(") (binary_expression "puVar7 != puVar10" (identifier "puVar7") (!= "!=") (identifier "puVar10")) () ")")) (compound_statement "{\n                        iVar4 = FUN_000360b0();\n                        puVar15 = local_7c + iVar4;\n                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;\n                        local_38 = local_48;\n                      }" ({ "{") (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar15 = local_7c + iVar4;" (assignment_expression "puVar15 = local_7c + iVar4" (identifier "puVar15") (= "=") (binary_expression "local_7c + iVar4" (identifier "local_7c") (+ "+") (identifier "iVar4"))) (; ";")) (if_statement "if ((int)local_38 < (int)local_48) goto LAB_000724b2;" (if "if") (parenthesized_expression "((int)local_38 < (int)local_48)" (( "(") (binary_expression "(int)local_38 < (int)local_48" (cast_expression "(int)local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_38")) (< "<") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48"))) () ")")) (goto_statement "goto LAB_000724b2;" (goto "goto") (statement_identifier "LAB_000724b2") (; ";"))) (expression_statement "local_38 = local_48;" (assignment_expression "local_38 = local_48" (identifier "local_38") (= "=") (identifier "local_48")) (; ";")) (} "}"))) (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar15 = puVar15 + iVar4;" (assignment_expression "puVar15 = puVar15 + iVar4" (identifier "puVar15") (= "=") (binary_expression "puVar15 + iVar4" (identifier "puVar15") (+ "+") (identifier "iVar4"))) (; ";")) (if_statement "if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;" (if "if") (parenthesized_expression "((int)__n < (int)(local_48 + (int)puVar15))" (( "(") (binary_expression "(int)__n < (int)(local_48 + (int)puVar15)" (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n")) (< "<") (cast_expression "(int)(local_48 + (int)puVar15)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_48 + (int)puVar15)" (( "(") (binary_expression "local_48 + (int)puVar15" (identifier "local_48") (+ "+") (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15"))) () ")")))) () ")")) (goto_statement "goto LAB_000724b2;" (goto "goto") (statement_identifier "LAB_000724b2") (; ";"))) (expression_statement "FUN_00069170(local_98 + (int)puVar15);" (call_expression "FUN_00069170(local_98 + (int)puVar15)" (identifier "FUN_00069170") (argument_list "(local_98 + (int)puVar15)" (( "(") (binary_expression "local_98 + (int)puVar15" (identifier "local_98") (+ "+") (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15"))) () ")"))) (; ";")) (expression_statement "puVar15 = puVar15 + (int)local_48;" (assignment_expression "puVar15 = puVar15 + (int)local_48" (identifier "puVar15") (= "=") (binary_expression "puVar15 + (int)local_48" (identifier "puVar15") (+ "+") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48")))) (; ";")) (expression_statement "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54," term=%.*s",local_38,local_3c)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal "" term=%.*s"" (" """) (string_content " term=%.*s") (" """)) (, ",") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "FUN_00071a60((int)local_80 - (int)puVar15);" (call_expression "FUN_00071a60((int)local_80 - (int)puVar15)" (identifier "FUN_00071a60") (argument_list "((int)local_80 - (int)puVar15)" (( "(") (binary_expression "(int)local_80 - (int)puVar15" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (- "-") (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15"))) () ")"))) (; ";")) (if_statement "if (((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;" (if "if") (parenthesized_expression "(((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0))" (( "(") (binary_expression "((int)__n <= (int)puVar12) ||\n                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)" (parenthesized_expression "((int)__n <= (int)puVar12)" (( "(") (binary_expression "(int)__n <= (int)puVar12" (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n")) (<= "<=") (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12"))) () ")")) (|| "||") (parenthesized_expression "(puVar10 = puVar12, local_64 != (undefined1 *)0x0)" (( "(") (comma_expression "puVar10 = puVar12, local_64 != (undefined1 *)0x0" (assignment_expression "puVar10 = puVar12" (identifier "puVar10") (= "=") (identifier "puVar12")) (, ",") (binary_expression "local_64 != (undefined1 *)0x0" (identifier "local_64") (!= "!=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_00071fa2;" (goto "goto") (statement_identifier "LAB_00071fa2") (; ";"))) (} "}"))) (expression_statement "FUN_000360b0();" (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_80 = local_48 + (int)local_7c;" (assignment_expression "local_80 = local_48 + (int)local_7c" (identifier "local_80") (= "=") (binary_expression "local_48 + (int)local_7c" (identifier "local_48") (+ "+") (cast_expression "(int)local_7c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_7c")))) (; ";")) (if_statement "if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;" (if "if") (parenthesized_expression "((int)local_80 <= (int)puVar7)" (( "(") (binary_expression "(int)local_80 <= (int)puVar7" (cast_expression "(int)local_80" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_80")) (<= "<=") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) () ")")) (goto_statement "goto LAB_000723a0;" (goto "goto") (statement_identifier "LAB_000723a0") (; ";"))) (labeled_statement "LAB_000724b2:\n                    local_64 = (undefined1 *)0x10b;" (statement_identifier "LAB_000724b2") (: ":") (expression_statement "local_64 = (undefined1 *)0x10b;" (assignment_expression "local_64 = (undefined1 *)0x10b" (identifier "local_64") (= "=") (cast_expression "(undefined1 *)0x10b" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10b"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_00071fa2;" (goto "goto") (statement_identifier "LAB_00071fa2") (; ";")) (} "}"))) (} "}")))) (} "}")) (else_clause "else if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" (else "else") (if_statement "if ((int)puVar7 <= (int)__n) {\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" (if "if") (parenthesized_expression "((int)puVar7 <= (int)__n)" (( "(") (binary_expression "(int)puVar7 <= (int)__n" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (<= "<=") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n              if (uVar2 == 0) {\n                local_80 = puVar7;\n              }\n              goto LAB_000722bf;\n            }" ({ "{") (if_statement "if (uVar2 == 0) {\n                local_80 = puVar7;\n              }" (if "if") (parenthesized_expression "(uVar2 == 0)" (( "(") (binary_expression "uVar2 == 0" (identifier "uVar2") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                local_80 = puVar7;\n              }" ({ "{") (expression_statement "local_80 = puVar7;" (assignment_expression "local_80 = puVar7" (identifier "local_80") (= "=") (identifier "puVar7")) (; ";")) (} "}"))) (goto_statement "goto LAB_000722bf;" (goto "goto") (statement_identifier "LAB_000722bf") (; ";")) (} "}"))))) (expression_statement "local_64 = (undefined1 *)0x10b;" (assignment_expression "local_64 = (undefined1 *)0x10b" (identifier "local_64") (= "=") (cast_expression "(undefined1 *)0x10b" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x10b"))) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (} "}")) (else_clause "else {\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" (else "else") (compound_statement "{\n            local_5c = (undefined1 *)0x0;\n            local_3c = (undefined1 **)0x0;\n            local_38 = (undefined1 *)0x0;\n            puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);\n            local_34 = 0;\n            local_84 = puVar10;\n            puVar7 = puVar10;\n            if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }\n            local_60 = puVar7;\n            FUN_000718e0(local_60 + -4);\n            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }\nLAB_00071fa2:\n            FUN_00027e40();\n            puVar7 = local_64;\n          }" ({ "{") (expression_statement "local_5c = (undefined1 *)0x0;" (assignment_expression "local_5c = (undefined1 *)0x0" (identifier "local_5c") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_3c = (undefined1 **)0x0;" (assignment_expression "local_3c = (undefined1 **)0x0" (identifier "local_3c") (= "=") (cast_expression "(undefined1 **)0x0" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (undefined1 *)0x0;" (assignment_expression "local_38 = (undefined1 *)0x0" (identifier "local_38") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);" (assignment_expression "puVar10 = (undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" (identifier "puVar10") (= "=") (cast_expression "(undefined1 *)\n                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff)" (( "(") (binary_expression "(uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff" (binary_expression "(uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100" (cast_expression "(uint)(byte)local_98[3]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)local_98[3]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_98[3]" (identifier "local_98") ([ "[") (number_literal "3") (] "]")))) (+ "+") (binary_expression "(uint)(byte)local_98[2] * 0x100" (cast_expression "(uint)(byte)local_98[2]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(byte)local_98[2]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "local_98[2]" (identifier "local_98") ([ "[") (number_literal "2") (] "]")))) (* "*") (number_literal "0x100"))) (& "&") (number_literal "0xffff")) () ")")))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = puVar10;" (assignment_expression "local_84 = puVar10" (identifier "local_84") (= "=") (identifier "puVar10")) (; ";")) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" (identifier "puVar7") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if ((int)puVar10 < (int)__n) {\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }" (if "if") (parenthesized_expression "((int)puVar10 < (int)__n)" (( "(") (binary_expression "(int)puVar10 < (int)__n" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n              iVar4 = FUN_000360b0();\n              local_84 = puVar10 + iVar4;\n              puVar7 = local_60;\n            }" ({ "{") (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_84 = puVar10 + iVar4;" (assignment_expression "local_84 = puVar10 + iVar4" (identifier "local_84") (= "=") (binary_expression "puVar10 + iVar4" (identifier "puVar10") (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "puVar7 = local_60;" (assignment_expression "puVar7 = local_60" (identifier "puVar7") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (expression_statement "local_60 = puVar7;" (assignment_expression "local_60 = puVar7" (identifier "local_60") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "FUN_000718e0(local_60 + -4);" (call_expression "FUN_000718e0(local_60 + -4)" (identifier "FUN_000718e0") (argument_list "(local_60 + -4)" (( "(") (binary_expression "local_60 + -4" (identifier "local_60") (+ "+") (number_literal "-4")) () ")"))) (; ";")) (for_statement "for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }" (for "for") (( "(") (assignment_expression "puVar7 = local_60" (identifier "puVar7") (= "=") (identifier "local_60")) (; ";") (binary_expression "(int)puVar7 < (int)puVar10" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (< "<") (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10"))) (; ";") (assignment_expression "puVar7 = puVar7 + iVar4" (identifier "puVar7") (= "=") (binary_expression "puVar7 + iVar4" (identifier "puVar7") (+ "+") (identifier "iVar4"))) () ")") (compound_statement "{\n              iVar4 = FUN_000360b0();\n              local_38 = local_5c;\n              FUN_00069170(local_98 + (int)(puVar7 + iVar4));\n              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);\n              puVar12 = puVar7 + iVar4 + (int)local_58;\n              puVar7 = puVar10;\n              if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }\n              local_60 = puVar7;\n              FUN_000718e0((int)puVar7 - (int)puVar12);\n              puVar7 = local_60;\n              if ((int)puVar10 <= (int)local_60) break;\n              iVar4 = FUN_000360b0();\n            }" ({ "{") (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_38 = local_5c;" (assignment_expression "local_38 = local_5c" (identifier "local_38") (= "=") (identifier "local_5c")) (; ";")) (expression_statement "FUN_00069170(local_98 + (int)(puVar7 + iVar4));" (call_expression "FUN_00069170(local_98 + (int)(puVar7 + iVar4))" (identifier "FUN_00069170") (argument_list "(local_98 + (int)(puVar7 + iVar4))" (( "(") (binary_expression "local_98 + (int)(puVar7 + iVar4)" (identifier "local_98") (+ "+") (cast_expression "(int)(puVar7 + iVar4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar7 + iVar4)" (( "(") (binary_expression "puVar7 + iVar4" (identifier "puVar7") (+ "+") (identifier "iVar4")) () ")")))) () ")"))) (; ";")) (expression_statement "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);" (call_expression "FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54," term=%.*s",local_38,local_3c)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal "" term=%.*s"" (" """) (string_content " term=%.*s") (" """)) (, ",") (identifier "local_38") (, ",") (identifier "local_3c") () ")"))) (; ";")) (expression_statement "puVar12 = puVar7 + iVar4 + (int)local_58;" (assignment_expression "puVar12 = puVar7 + iVar4 + (int)local_58" (identifier "puVar12") (= "=") (binary_expression "puVar7 + iVar4 + (int)local_58" (binary_expression "puVar7 + iVar4" (identifier "puVar7") (+ "+") (identifier "iVar4")) (+ "+") (cast_expression "(int)local_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_58")))) (; ";")) (expression_statement "puVar7 = puVar10;" (assignment_expression "puVar7 = puVar10" (identifier "puVar7") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if ((int)local_84 < (int)__n) {\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }" (if "if") (parenthesized_expression "((int)local_84 < (int)__n)" (( "(") (binary_expression "(int)local_84 < (int)__n" (cast_expression "(int)local_84" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_84")) (< "<") (cast_expression "(int)__n" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "__n"))) () ")")) (compound_statement "{\n                iVar4 = FUN_000360b0();\n                local_84 = local_84 + iVar4;\n                puVar7 = local_48 + (int)local_60;\n              }" ({ "{") (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "local_84 = local_84 + iVar4;" (assignment_expression "local_84 = local_84 + iVar4" (identifier "local_84") (= "=") (binary_expression "local_84 + iVar4" (identifier "local_84") (+ "+") (identifier "iVar4"))) (; ";")) (expression_statement "puVar7 = local_48 + (int)local_60;" (assignment_expression "puVar7 = local_48 + (int)local_60" (identifier "puVar7") (= "=") (binary_expression "local_48 + (int)local_60" (identifier "local_48") (+ "+") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60")))) (; ";")) (} "}"))) (expression_statement "local_60 = puVar7;" (assignment_expression "local_60 = puVar7" (identifier "local_60") (= "=") (identifier "puVar7")) (; ";")) (expression_statement "FUN_000718e0((int)puVar7 - (int)puVar12);" (call_expression "FUN_000718e0((int)puVar7 - (int)puVar12)" (identifier "FUN_000718e0") (argument_list "((int)puVar7 - (int)puVar12)" (( "(") (binary_expression "(int)puVar7 - (int)puVar12" (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (- "-") (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12"))) () ")"))) (; ";")) (expression_statement "puVar7 = local_60;" (assignment_expression "puVar7 = local_60" (identifier "puVar7") (= "=") (identifier "local_60")) (; ";")) (if_statement "if ((int)puVar10 <= (int)local_60) break;" (if "if") (parenthesized_expression "((int)puVar10 <= (int)local_60)" (( "(") (binary_expression "(int)puVar10 <= (int)local_60" (cast_expression "(int)puVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar10")) (<= "<=") (cast_expression "(int)local_60" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_60"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar4 = FUN_000360b0();" (assignment_expression "iVar4 = FUN_000360b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000360b0()" (identifier "FUN_000360b0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_00071fa2:\n            FUN_00027e40();" (statement_identifier "LAB_00071fa2") (: ":") (expression_statement "FUN_00027e40();" (call_expression "FUN_00027e40()" (identifier "FUN_00027e40") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (} "}")))) (goto_statement "goto LAB_00071dac;" (goto "goto") (statement_identifier "LAB_00071dac") (; ";")) (} "}"))) (expression_statement "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);" (call_expression "FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal ""{%ssegid=%d h=%d pgno=%d}"" (" """) (string_content "{%ssegid=%d h=%d pgno=%d}") (" """)) (, ",") (string_literal ""dlidx "" (" """) (string_content "dlidx ") (" """)) (, ",") (identifier "uVar6") (, ",") (identifier "uVar8") (, ",") (identifier "uVar5") () ")"))) (; ";")) (} "}")))) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      } while (uVar8 < 0x18);" (do "do") (compound_statement "{\n        *(undefined4 *)((int)&local_38 + uVar8) = 0;\n        uVar8 = uVar8 + 4;\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)&local_38 + uVar8) = 0;" (assignment_expression "*(undefined4 *)((int)&local_38 + uVar8) = 0" (pointer_expression "*(undefined4 *)((int)&local_38 + uVar8)" (* "*") (cast_expression "(undefined4 *)((int)&local_38 + uVar8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)&local_38 + uVar8)" (( "(") (binary_expression "(int)&local_38 + uVar8" (cast_expression "(int)&local_38" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (+ "+") (identifier "uVar8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = uVar8 + 4;" (assignment_expression "uVar8 = uVar8 + 4" (identifier "uVar8") (= "=") (binary_expression "uVar8 + 4" (identifier "uVar8") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar8 < 0x18)" (( "(") (binary_expression "uVar8 < 0x18" (identifier "uVar8") (< "<") (number_literal "0x18")) () ")")) (; ";")) (expression_statement "local_3c = &local_48;" (assignment_expression "local_3c = &local_48" (identifier "local_3c") (= "=") (pointer_expression "&local_48" (& "&") (identifier "local_48"))) (; ";")) (expression_statement "local_48 = local_98;" (assignment_expression "local_48 = local_98" (identifier "local_48") (= "=") (identifier "local_98")) (; ";")) (expression_statement "local_44 = __n;" (assignment_expression "local_44 = __n" (identifier "local_44") (= "=") (identifier "__n")) (; ";")) (expression_statement "local_2c = uVar5;" (assignment_expression "local_2c = uVar5" (identifier "local_2c") (= "=") (identifier "uVar5")) (; ";")) (expression_statement "FUN_00036530();" (call_expression "FUN_00036530()" (identifier "FUN_00036530") (argument_list "()" (( "(") () ")"))) (; ";")) (while_statement "while (puVar7 = local_64, local_34 == 0) {\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }" (while "while") (parenthesized_expression "(puVar7 = local_64, local_34 == 0)" (( "(") (comma_expression "puVar7 = local_64, local_34 == 0" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (, ",") (binary_expression "local_34 == 0" (identifier "local_34") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);\n        FUN_00036530();\n      }" ({ "{") (expression_statement "FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);" (call_expression "FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24)" (identifier "FUN_00071860") (argument_list "(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24)" (( "(") (pointer_expression "&local_64" (& "&") (identifier "local_64")) (, ",") (pointer_expression "&local_54" (& "&") (identifier "local_54")) (, ",") (string_literal "" %d(%lld)"" (" """) (string_content " %d(%lld)") (" """)) (, ",") (identifier "local_2c") (, ",") (identifier "local_28") (, ",") (identifier "local_24") () ")"))) (; ";")) (expression_statement "FUN_00036530();" (call_expression "FUN_00036530()" (identifier "FUN_00036530") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00071dac;" (goto "goto") (statement_identifier "LAB_00071dac") (; ";")) (} "}"))) (} "}"))) (expression_statement "local_98 = (undefined1 *)0x0;" (assignment_expression "local_98 = (undefined1 *)0x0" (identifier "local_98") (= "=") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar7 = local_64;" (assignment_expression "puVar7 = local_64" (identifier "puVar7") (= "=") (identifier "local_64")) (; ";")) (labeled_statement "LAB_00071dac:\n  local_64 = puVar7;" (statement_identifier "LAB_00071dac") (: ":") (expression_statement "local_64 = puVar7;" (assignment_expression "local_64 = puVar7" (identifier "local_64") (= "=") (identifier "puVar7")) (; ";"))) (expression_statement "FUN_000264d0(local_98);" (call_expression "FUN_000264d0(local_98)" (identifier "FUN_000264d0") (argument_list "(local_98)" (( "(") (identifier "local_98") () ")"))) (; ";")) (if_statement "if (local_64 == (undefined1 *)0x0) {\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }\n  else {\n    FUN_000475e0(param_1,local_64);\n  }" (if "if") (parenthesized_expression "(local_64 == (undefined1 *)0x0)" (( "(") (binary_expression "local_64 == (undefined1 *)0x0" (identifier "local_64") (== "==") (cast_expression "(undefined1 *)0x0" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_00047c90(param_1,local_54,local_50,0xffffffff);\n  }" ({ "{") (expression_statement "FUN_00047c90(param_1,local_54,local_50,0xffffffff);" (call_expression "FUN_00047c90(param_1,local_54,local_50,0xffffffff)" (identifier "FUN_00047c90") (argument_list "(param_1,local_54,local_50,0xffffffff)" (( "(") (identifier "param_1") (, ",") (identifier "local_54") (, ",") (identifier "local_50") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (} "}")) (else_clause "else {\n    FUN_000475e0(param_1,local_64);\n  }" (else "else") (compound_statement "{\n    FUN_000475e0(param_1,local_64);\n  }" ({ "{") (expression_statement "FUN_000475e0(param_1,local_64);" (call_expression "FUN_000475e0(param_1,local_64)" (identifier "FUN_000475e0") (argument_list "(param_1,local_64)" (( "(") (identifier "param_1") (, ",") (identifier "local_64") () ")"))) (; ";")) (} "}")))) (expression_statement "FUN_00027e40();" (call_expression "FUN_00027e40()" (identifier "FUN_00027e40") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\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    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_000f6410();" (call_expression "FUN_000f6410()" (identifier "FUN_000f6410") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Unknown calling convention */

void function_1(type_1 *pCtx,int nArg,type_2 **apVal)

{
  type_3 *puVar1;
  int var_43;
  type_4 var_27;
  type_5 *pFVar4;
  type_6 bVar5;
  void *var_23;
  size_t __n;
  void *__src;
  type_7 *var_21;
  type_8 var_10;
  type_7 *var_32;
  type_9 *p;
  type_8 var_14;
  type_7 *var_34;
  int *var_19;
  type_10 *pBuf;
  type_11 *puVar13;
  int var_16;
  type_7 *var_33;
  int var_1;
  type_12 sVar16;
  int var_18;
  int nData;
  type_13 in_stack_ffffff54;
  int var_20;
  type_7 *var_8;
  type_14 *var_12;
  type_8 var_11;
  type_7 *var_37;
  type_7 *var_29;
  type_7 *var_31;
  int var_6;
  int var_36;
  int nKeep;
  int var_28;
  type_10 s;
  type_5 dlidx;
  type_14 lvl;
  
  var_43 = *(int *)(var_1 + 0x14);
  var_6 = 0;
  var_23 = var_2(pCtx);
  s.p = (type_7 *)0x0;
  s.n = 0;
  s.nSpace = 0;
  sVar16 = var_3(*apVal);
  __n = var_4(apVal[1]);
  __src = var_5(apVal[1]);
  if (var_6 == 0) {
    var_18 = 0x71cf2;
    var_8 = (type_7 *)var_7(&var_6,in_stack_ffffff54);
    if (var_8 != (type_7 *)0x0) {
      if (0 < (int)__n) {
        var_9(var_8,__src,__n);
      }
      var_12 = (type_14 *)sVar16;
      var_11 = (type_8)((type_15)sVar16 >> 0x20);
      var_21 = (type_7 *)((type_8)var_12 & 0x7fffffff);
      var_14 = (int)var_11 >> 4 & 1;
      var_10 = (int)var_11 >> 5 & 0xffff;
      if (var_10 == 0) {
        if (var_11 == 0 && var_12 == (type_14 *)0x1) {
          var_13(&var_6,&s,"{averages} ");
          if (var_14 == 0) {
            var_18 = var_6;
            if (0 < (int)__n) {
              var_16 = 0;
              puVar13 = &DAT_000f7177;
              do {
                bVar5 = var_15(var_8 + var_16,(type_16 *)&lvl);
                var_16 = var_16 + (type_8)bVar5;
                var_13(&var_6,&s,"%s%d",puVar13,lvl.pData);
                puVar13 = &DAT_000fa0a2;
                var_18 = var_6;
              } while (var_16 < (int)__n);
            }
            goto LAB_00071dac;
          }
        }
        else {
          var_13(&var_6,&s,"{structure}");
          if (var_14 == 0) {
            lvl.pData = (type_5 *)0x0;
            var_18 = var_17(var_8,__n,(int *)0x0,(type_17 **)&lvl);
            pFVar4 = lvl.pData;
            if (var_18 == 0) {
              if (0 < lvl.pData[1].nn) {
                var_19 = &lvl.pData[1].szLeaf;
                var_20 = 0;
                do {
                  var_13
                            (&var_6,&s," {lvl=%d nMerge=%d nSeg=%d",var_20,*var_19,var_19[1]);
                  var_18 = 0;
                  if (0 < var_19[1]) {
                    do {
                      var_16 = var_18 + 1;
                      puVar1 = (type_3 *)(var_19[2] + var_18 * 0xc);
                      var_13
                                (&var_6,&s," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],puVar1[2]);
                      var_18 = var_16;
                    } while (var_16 < var_19[1]);
                  }
                  var_19 = var_19 + 3;
                  var_13(&var_6,&s,"}");
                  var_20 = var_20 + 1;
                } while (var_20 < pFVar4[1].nn);
                var_18 = var_6;
                if (lvl.pData == (type_5 *)0x0) goto LAB_00071dac;
              }
              var_21 = (lvl.pData)->p;
              (lvl.pData)->p = var_21 + -1;
              var_18 = var_6;
              if ((int)(var_21 + -1) < 1) {
                var_22((type_17 *)lvl.pData);
                var_18 = var_6;
              }
            }
            goto LAB_00071dac;
          }
        }
      }
      else {
        pBuf = (type_10 *)((type_8)var_12 >> 0x1f | (var_11 & 0xf) << 1);
        if (var_14 == 0) {
          var_13(&var_6,&s,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,var_10);
          if (var_23 == (void *)0x0) {
            var_28 = 0;
            lvl.pData = (type_5 *)0x0;
            lvl.iOff = 0;
            lvl.bEof = 0;
            if ((int)__n < 4) {
              s.n = 0;
              var_24(&var_6,&s,7,(type_7 *)"corrupt");
              var_18 = var_6;
              goto LAB_00071dac;
            }
            var_27 = var_25(*var_8,var_8[1]);
            var_29 = (type_7 *)(type_8)var_27;
            var_21 = (type_7 *)(type_8)var_25(var_8[2],var_8[3]);
            if ((int)var_21 < (int)__n) {
              var_26(var_21 + (int)var_8,(type_18 *)&var_28);
              if ((var_27 == 0) && (var_29 = (type_7 *)var_28, var_28 == 0)) {
                var_29 = var_21;
              }
LAB_000722bf:
              if ((int)var_29 <= (int)__n) {
                if (0 < (int)(var_29 + -4)) {
                  var_18 = 0;
                  do {
                    var_16 = var_26(var_8 + var_18 + 4,(type_18 *)&dlidx);
                    var_18 = var_18 + var_16;
                    var_13(&var_6,&s," %d",dlidx.p);
                  } while (var_18 < (int)(var_29 + -4));
                }
                var_32 = (type_7 *)var_28;
                if (var_28 == 0) {
                  var_32 = var_21;
                }
                if ((int)var_32 <= (int)__n) {
                  var_30(&var_6,&s,var_8 + (int)var_29,(int)var_32 - (int)var_29);
                  if ((int)var_21 < (int)__n) {
                    var_31 = (type_7 *)var_6;
                    var_32 = var_21;
                    if (var_6 == 0) {
                      while( true ) {
                        var_18 = var_26(var_8 + (int)var_32,(type_18 *)&dlidx);
                        var_31 = var_31 + (int)dlidx.p;
                        var_34 = var_32 + var_18;
                        var_29 = var_21;
                        if ((int)var_34 < (int)__n) break;
LAB_000723a0:
                        p = var_8 + (int)var_31;
                        var_33 = var_31;
                        if (var_21 != var_32) {
                          var_18 = var_26(p,(type_18 *)&dlidx);
                          var_33 = var_31 + var_18;
                          if (lvl.iOff < (int)dlidx.p) goto LAB_000724b2;
                          lvl.iOff = (int)dlidx.p;
                          p = var_8 + (int)var_33;
                        }
                        var_18 = var_26(p,(type_18 *)&dlidx);
                        var_33 = var_33 + var_18;
                        if ((int)__n < (int)(dlidx.p + (int)var_33)) goto LAB_000724b2;
                        var_24
                                  (&var_6,(type_10 *)&lvl,(type_18)dlidx.p,var_8 + (int)var_33);
                        var_33 = var_33 + (int)dlidx.p;
                        var_13(&var_6,&s," term=%.*s",lvl.iOff,lvl.pData);
                        var_30(&var_6,&s,var_8 + (int)var_33,
                                          (int)var_29 - (int)var_33);
                        if (((int)__n <= (int)var_34) || (var_32 = var_34, var_6 != 0))
                        goto LAB_00071fa2;
                      }
                      var_26(var_8 + (int)var_34,(type_18 *)&dlidx);
                      var_29 = dlidx.p + (int)var_31;
                      if ((int)var_29 <= (int)var_21) goto LAB_000723a0;
LAB_000724b2:
                      var_6 = 0x10b;
                    }
                  }
                  goto LAB_00071fa2;
                }
              }
            }
            else if ((int)var_21 <= (int)__n) {
              if (var_27 == 0) {
                var_29 = var_21;
              }
              goto LAB_000722bf;
            }
            var_6 = 0x10b;
            var_18 = var_6;
          }
          else {
            nKeep = 0;
            lvl.pData = (type_5 *)0x0;
            lvl.iOff = 0;
            var_34 = (type_7 *)((type_8)var_8[3] + (type_8)var_8[2] * 0x100 & 0xffff);
            lvl.bEof = 0;
            var_37 = var_34;
            var_32 = var_34;
            if ((int)var_34 < (int)__n) {
              var_18 = 0x724d5;
              var_16 = var_26(var_8 + (int)var_34,(type_18 *)&var_36);
              var_37 = var_34 + var_16;
              var_32 = (type_7 *)var_36;
            }
            var_36 = (int)var_32;
            var_35((int *)(var_36 + -4),pBuf,var_21,var_18);
            for (var_18 = var_36; var_18 < (int)var_34; var_18 = var_18 + var_16) {
              nData = 0x71f1c;
              var_16 = var_26(var_8 + var_18,(type_18 *)&var_28);
              lvl.iOff = nKeep;
              var_24(&var_6,(type_10 *)&lvl,var_28,var_8 + var_18 + var_16)
              ;
              var_13(&var_6,&s," term=%.*s",lvl.iOff,lvl.pData);
              var_18 = var_18 + var_16 + var_28;
              var_32 = var_34;
              if ((int)var_37 < (int)__n) {
                nData = 0x7213d;
                var_16 = var_26(var_37 + (int)var_8,(type_18 *)&dlidx);
                var_37 = var_37 + var_16;
                var_32 = dlidx.p + var_36;
              }
              var_36 = (int)var_32;
              var_35((int *)(var_32 + -var_18),pBuf,var_21,nData);
              var_18 = var_36;
              if ((int)var_34 <= var_36) break;
              var_16 = var_26(var_8 + var_36,(type_18 *)&nKeep);
            }
LAB_00071fa2:
            var_12 = &lvl;
            var_38((type_10 *)var_12);
            var_18 = var_6;
          }
          goto LAB_00071dac;
        }
        var_13(&var_6,&s,"{%ssegid=%d h=%d pgno=%d}","dlidx ",var_10,pBuf,var_21)
        ;
      }
      var_10 = 0;
      do {
        *(type_3 *)((int)&lvl.iOff + var_10) = 0;
        var_10 = var_10 + 4;
      } while (var_10 < 0x18);
      lvl.pData = &dlidx;
      dlidx.p = var_8;
      dlidx.nn = __n;
      lvl.iLeafPgno = (int)var_21;
      var_39(&lvl);
      while (var_18 = var_6, lvl.bEof == 0) {
        var_13
                  (&var_6,&s," %d(%lld)",lvl.iLeafPgno,(type_3)lvl.iRowid,lvl.iRowid._4_4_);
        var_39(&lvl);
      }
      goto LAB_00071dac;
    }
  }
  var_8 = (type_7 *)0x0;
  var_18 = var_6;
LAB_00071dac:
  var_6 = var_18;
  var_40(var_8);
  if (var_6 == 0) {
    var_41(pCtx,(char *)s.p,s.n,(type_19 *)&DAT_ffffffff);
  }
  else {
    var_42(pCtx,var_6);
  }
  var_38(&s);
  if (var_43 == *(int *)(var_1 + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  var_44();
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(undefined4 param_1,undefined4 param_2,undefined4 *param_3)

{
  undefined4 *puVar1;
  ushort uVar2;
  undefined1 **ppuVar3;
  int iVar4;
  size_t __n;
  void *__src;
  uint uVar5;
  uint uVar6;
  undefined1 *puVar7;
  uint uVar8;
  uint uVar9;
  undefined1 *puVar10;
  undefined1 **ppuVar11;
  undefined1 *puVar12;
  undefined *puVar13;
  int iVar14;
  undefined1 *puVar15;
  int in_GS_OFFSET;
  longlong lVar16;
  int local_9c;
  undefined1 *local_98;
  undefined1 *local_84;
  undefined1 *local_80;
  undefined1 *local_7c;
  undefined1 *local_64;
  undefined1 *local_60;
  undefined1 *local_5c;
  undefined1 *local_58;
  undefined4 local_54;
  undefined4 local_50;
  undefined4 local_4c;
  undefined1 *local_48;
  size_t local_44;
  undefined1 **local_3c;
  undefined1 *local_38;
  int local_34;
  uint local_2c;
  undefined4 local_28;
  undefined4 local_24;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x71c49;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_64 = (undefined1 *)0x0;
  iVar4 = FUN_0001d2c0(param_1);
  local_54 = 0;
  local_50 = 0;
  local_4c = 0;
  lVar16 = FUN_0002d350(*param_3);
  uVar8 = (uint)((ulonglong)lVar16 >> 0x20);
  __n = FUN_0004e4c0(param_3[1]);
  __src = (void *)FUN_0004e6c0(param_3[1]);
  if (local_64 == (undefined1 *)0x0) {
    local_98 = (undefined1 *)FUN_00040980();
    if (local_98 != (undefined1 *)0x0) {
      if (0 < (int)__n) {
        memcpy(local_98,__src,__n);
      }
      uVar5 = (uint)lVar16 & 0x7fffffff;
      uVar9 = (int)uVar8 >> 4 & 1;
      uVar6 = (int)uVar8 >> 5 & 0xffff;
      if (uVar6 == 0) {
        if (lVar16 == 1) {
          FUN_00071860(&local_64,&local_54,"{averages} ");
          if (uVar9 == 0) {
            puVar7 = local_64;
            if (0 < (int)__n) {
              iVar4 = 0;
              puVar13 = &DAT_000f7177;
              do {
                uVar8 = FUN_0001bef0();
                iVar4 = iVar4 + (uVar8 & 0xff);
                FUN_00071860(&local_64,&local_54,&DAT_000f73e1,puVar13,local_3c);
                puVar13 = &DAT_000fa0a2;
                puVar7 = local_64;
              } while (iVar4 < (int)__n);
            }
            goto LAB_00071dac;
          }
        }
        else {
          FUN_00071860(&local_64,&local_54,"{structure}");
          if (uVar9 == 0) {
            local_3c = (undefined1 **)0x0;
            puVar7 = (undefined1 *)FUN_000409f0(&local_3c);
            ppuVar3 = local_3c;
            if (puVar7 == (undefined1 *)0x0) {
              if (0 < (int)local_3c[4]) {
                ppuVar11 = local_3c + 5;
                local_9c = 0;
                do {
                  FUN_00071860(&local_64,&local_54," {lvl=%d nMerge=%d nSeg=%d",local_9c,*ppuVar11,
                               ppuVar11[1]);
                  iVar4 = 0;
                  if (0 < (int)ppuVar11[1]) {
                    do {
                      iVar14 = iVar4 + 1;
                      puVar1 = (undefined4 *)(ppuVar11[2] + iVar4 * 0xc);
                      FUN_00071860(&local_64,&local_54," {id=%d leaves=%d..%d}",*puVar1,puVar1[1],
                                   puVar1[2]);
                      iVar4 = iVar14;
                    } while (iVar14 < (int)ppuVar11[1]);
                  }
                  ppuVar11 = ppuVar11 + 3;
                  FUN_00071860(&local_64,&local_54,"}");
                  local_9c = local_9c + 1;
                } while (local_9c < (int)ppuVar3[4]);
                puVar7 = local_64;
                if (local_3c == (undefined1 **)0x0) goto LAB_00071dac;
              }
              puVar10 = *local_3c;
              *local_3c = puVar10 + -1;
              puVar7 = local_64;
              if ((int)(puVar10 + -1) < 1) {
                FUN_000346e0();
                puVar7 = local_64;
              }
            }
            goto LAB_00071dac;
          }
        }
      }
      else {
        uVar8 = (uint)lVar16 >> 0x1f | (uVar8 & 0xf) << 1;
        if (uVar9 == 0) {
          FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}",&DAT_000f7177,uVar6,uVar8,
                       uVar5);
          if (iVar4 == 0) {
            local_58 = (undefined1 *)0x0;
            local_3c = (undefined1 **)0x0;
            local_38 = (undefined1 *)0x0;
            local_34 = 0;
            if ((int)__n < 4) {
              local_50 = 0;
              FUN_00069170("corrupt");
              puVar7 = local_64;
              goto LAB_00071dac;
            }
            uVar2 = CONCAT11(*local_98,local_98[1]);
            local_80 = (undefined1 *)(uint)uVar2;
            puVar7 = (undefined1 *)(uint)CONCAT11(local_98[2],local_98[3]);
            if ((int)puVar7 < (int)__n) {
              FUN_000360b0();
              if ((uVar2 == 0) && (local_80 = local_58, local_58 == (undefined1 *)0x0)) {
                local_80 = puVar7;
              }
LAB_000722bf:
              if ((int)local_80 <= (int)__n) {
                if (0 < (int)(local_80 + -4)) {
                  iVar4 = 0;
                  do {
                    iVar14 = FUN_000360b0();
                    iVar4 = iVar4 + iVar14;
                    FUN_00071860(&local_64,&local_54," %d",local_48);
                  } while (iVar4 < (int)(local_80 + -4));
                }
                puVar10 = local_58;
                if (local_58 == (undefined1 *)0x0) {
                  puVar10 = puVar7;
                }
                if ((int)puVar10 <= (int)__n) {
                  FUN_00071a60((int)puVar10 - (int)local_80);
                  if (((int)puVar7 < (int)__n) &&
                     (local_7c = local_64, puVar10 = puVar7, local_64 == (undefined1 *)0x0)) {
                    while( true ) {
                      iVar4 = FUN_000360b0();
                      local_7c = local_7c + (int)local_48;
                      puVar12 = puVar10 + iVar4;
                      local_80 = puVar7;
                      if ((int)puVar12 < (int)__n) break;
LAB_000723a0:
                      puVar15 = local_7c;
                      if (puVar7 != puVar10) {
                        iVar4 = FUN_000360b0();
                        puVar15 = local_7c + iVar4;
                        if ((int)local_38 < (int)local_48) goto LAB_000724b2;
                        local_38 = local_48;
                      }
                      iVar4 = FUN_000360b0();
                      puVar15 = puVar15 + iVar4;
                      if ((int)__n < (int)(local_48 + (int)puVar15)) goto LAB_000724b2;
                      FUN_00069170(local_98 + (int)puVar15);
                      puVar15 = puVar15 + (int)local_48;
                      FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);
                      FUN_00071a60((int)local_80 - (int)puVar15);
                      if (((int)__n <= (int)puVar12) ||
                         (puVar10 = puVar12, local_64 != (undefined1 *)0x0)) goto LAB_00071fa2;
                    }
                    FUN_000360b0();
                    local_80 = local_48 + (int)local_7c;
                    if ((int)local_80 <= (int)puVar7) goto LAB_000723a0;
LAB_000724b2:
                    local_64 = (undefined1 *)0x10b;
                  }
                  goto LAB_00071fa2;
                }
              }
            }
            else if ((int)puVar7 <= (int)__n) {
              if (uVar2 == 0) {
                local_80 = puVar7;
              }
              goto LAB_000722bf;
            }
            local_64 = (undefined1 *)0x10b;
            puVar7 = local_64;
          }
          else {
            local_5c = (undefined1 *)0x0;
            local_3c = (undefined1 **)0x0;
            local_38 = (undefined1 *)0x0;
            puVar10 = (undefined1 *)
                      ((uint)(byte)local_98[3] + (uint)(byte)local_98[2] * 0x100 & 0xffff);
            local_34 = 0;
            local_84 = puVar10;
            puVar7 = puVar10;
            if ((int)puVar10 < (int)__n) {
              iVar4 = FUN_000360b0();
              local_84 = puVar10 + iVar4;
              puVar7 = local_60;
            }
            local_60 = puVar7;
            FUN_000718e0(local_60 + -4);
            for (puVar7 = local_60; (int)puVar7 < (int)puVar10; puVar7 = puVar7 + iVar4) {
              iVar4 = FUN_000360b0();
              local_38 = local_5c;
              FUN_00069170(local_98 + (int)(puVar7 + iVar4));
              FUN_00071860(&local_64,&local_54," term=%.*s",local_38,local_3c);
              puVar12 = puVar7 + iVar4 + (int)local_58;
              puVar7 = puVar10;
              if ((int)local_84 < (int)__n) {
                iVar4 = FUN_000360b0();
                local_84 = local_84 + iVar4;
                puVar7 = local_48 + (int)local_60;
              }
              local_60 = puVar7;
              FUN_000718e0((int)puVar7 - (int)puVar12);
              puVar7 = local_60;
              if ((int)puVar10 <= (int)local_60) break;
              iVar4 = FUN_000360b0();
            }
LAB_00071fa2:
            FUN_00027e40();
            puVar7 = local_64;
          }
          goto LAB_00071dac;
        }
        FUN_00071860(&local_64,&local_54,"{%ssegid=%d h=%d pgno=%d}","dlidx ",uVar6,uVar8,uVar5);
      }
      uVar8 = 0;
      do {
        *(undefined4 *)((int)&local_38 + uVar8) = 0;
        uVar8 = uVar8 + 4;
      } while (uVar8 < 0x18);
      local_3c = &local_48;
      local_48 = local_98;
      local_44 = __n;
      local_2c = uVar5;
      FUN_00036530();
      while (puVar7 = local_64, local_34 == 0) {
        FUN_00071860(&local_64,&local_54," %d(%lld)",local_2c,local_28,local_24);
        FUN_00036530();
      }
      goto LAB_00071dac;
    }
  }
  local_98 = (undefined1 *)0x0;
  puVar7 = local_64;
LAB_00071dac:
  local_64 = puVar7;
  FUN_000264d0(local_98);
  if (local_64 == (undefined1 *)0x0) {
    FUN_00047c90(param_1,local_54,local_50,0xffffffff);
  }
  else {
    FUN_000475e0(param_1,local_64);
  }
  FUN_00027e40();
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_000f6410();
}

