
void sqlite3FkCheck(Parse *pParse,Table *pTab,int regOld,int regNew,int *aChange,int bChngRowid)

{
  u8 uVar1;
  u8 uVar2;
  byte bVar3;
  undefined *puVar4;
  undefined *puVar5;
  int iVar6;
  Schema *pSVar7;
  code *pcVar8;
  code *pcVar9;
  code *pcVar10;
  Schema *pSVar11;
  Schema *pSVar12;
  code *pcVar13;
  SrcList *pSrc;
  uint uVar14;
  u32 uVar15;
  uint uVar16;
  void *pvVar17;
  _func_int_sqlite3_vfs_ptr_char_ptr_int_char_ptr *p_Var18;
  int iVar19;
  _ht *p_Var20;
  undefined4 uVar21;
  int iVar22;
  sqlite3 *pParse_00;
  Trigger *pTVar23;
  Table *pTVar24;
  Parse *pPVar25;
  _ht **pp_Var26;
  undefined2 uVar27;
  Schema *pSVar28;
  _ht *p_Var29;
  Schema *iDataCur;
  Schema *pTrigger;
  CollSeq *pCVar30;
  sqlite3 *psVar31;
  u32 ignoreJump;
  Schema *pSVar32;
  int iVar33;
  undefined *puVar34;
  Schema *pSStack_d0;
  Schema *in_stack_ffffff80;
  code *in_stack_ffffff84;
  int in_stack_ffffff88;
  short sVar35;
  uint in_stack_ffffff8c;
  uint uStack_70;
  char cStack_69;
  Vdbe *pVStack_5c;
  code *pcStack_40;
  Index *pIdx;
  int *aiFree;
  int iCol;
  uint uStack_2c;
  
  puVar34 = PTR___stack_chk_guard_00190e24;
  sVar35 = (short)in_stack_ffffff88;
  psVar31 = pParse->db;
  uStack_2c = *(uint *)PTR___stack_chk_guard_00190e24;
  pParse_00 = (sqlite3 *)pParse;
  pSVar11 = (Schema *)pTab;
  pTrigger = (Schema *)regOld;
  iDataCur = (Schema *)regNew;
  if ((psVar31->flags & 0x4000) != 0) {
    iDataCur = pTab->pSchema;
    if (iDataCur == (Schema *)0x0) {
      iVar19 = -16000000;
      iVar6 = -1000000;
    }
    else {
      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);
      iVar19 = iVar6 << 4;
    }
    puVar4 = PTR_LAB_00190ba8;
    uVar1 = pParse->disableTriggers;
    pSVar32 = (Schema *)pTab->pFKey;
    pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);
    if (pSVar32 != (Schema *)0x0) {
      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);
      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);
      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);
      do {
        while( true ) {
          aiFree = (int *)0x0;
          pIdx = (Index *)0x0;
          pTrigger = (Schema *)(pSVar32->tblHash).htsize;
          if (aChange == (int *)0x0) break;
          pSVar11 = pTrigger;
          if (pTab->zName == (char *)0x0) {
joined_r0x00109ec0:
            if (pSVar11 == (Schema *)0x0) break;
          }
          else if (pTrigger != (Schema *)0x0) {
            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);
            goto joined_r0x00109ec0;
          }
          p_Var20 = (pSVar32->tblHash).ht;
          if (0 < (int)p_Var20) {
            pSVar11 = (Schema *)(pSVar32->idxHash).ht;
            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;
            if (aChange[(int)pSVar11] < 0) {
              iDataCur = (Schema *)(int)pTab->iPKey;
              p_Var29 = (_ht *)0x0;
              do {
                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {
                  uVar2 = pParse->disableTriggers;
                  goto LAB_00109d04;
                }
                p_Var29 = (_ht *)((int)&p_Var29->count + 1);
                if (p_Var29 == p_Var20) goto LAB_00109d78;
                pSVar11 = (Schema *)*pp_Var26;
                pp_Var26 = pp_Var26 + 2;
              } while (aChange[(int)pSVar11] < 0);
            }
            break;
          }
LAB_00109d78:
          pSVar32 = (Schema *)pSVar32->iGeneration;
          if (pSVar32 == (Schema *)0x0) {
            iDataCur = pTab->pSchema;
            goto LAB_00109d88;
          }
        }
        uVar2 = pParse->disableTriggers;
LAB_00109d04:
        if (uVar2 == '\0') {
          pSVar11 = (Schema *)0x0;
          pParse_00 = (sqlite3 *)pParse;
          iDataCur = pSVar7;
          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);
        }
        else {
          pParse_00 = psVar31;
          pSVar28 = pSVar7;
          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();
          pSVar11 = pTrigger;
          pTrigger = pSVar28;
        }
        pSVar28 = (Schema *)&aiFree;
        if (pSVar12 == (Schema *)0x0) {
LAB_00109d58:
          sVar35 = (short)in_stack_ffffff88;
          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {
            if (pSVar12 == (Schema *)0x0) {
              pVStack_5c = pParse->pVdbe;
              if (pVStack_5c == (Vdbe *)0x0) {
                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);
              }
              puVar5 = PTR_LAB_00190bc0;
              p_Var20 = (pSVar32->tblHash).ht;
              iVar19 = pVStack_5c->nOp;
              if (0 < (int)p_Var20) {
                pp_Var26 = &(pSVar32->idxHash).ht;
                iVar33 = 0;
                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                do {
                  p_Var29 = *pp_Var26;
                  iVar33 = iVar33 + 1;
                  pp_Var26 = pp_Var26 + 2;
                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,
                             (char *)((int)&p_Var20->count + iVar19 + 1),0);
                } while (iVar33 < (int)(pSVar32->tblHash).ht);
              }
              pcStack_40 = (code *)(puVar5 + 0x10fc);
              iDataCur = (Schema *)0xffffffff;
              in_stack_ffffff80 = (Schema *)0x0;
              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);
            }
            goto LAB_00109d78;
          }
          goto LAB_00109e60;
        }
        iDataCur = (Schema *)&pIdx;
        pParse_00 = (sqlite3 *)pParse;
        pSVar11 = pSVar12;
        pTrigger = pSVar32;
        iVar19 = (*pcVar8)();
        in_stack_ffffff80 = pSVar28;
        if (iVar19 != 0) goto LAB_00109d58;
        pcStack_40 = (code *)aiFree;
        if (aiFree == (int *)0x0) {
          iCol = (int)(pSVar32->idxHash).ht;
          pcStack_40 = (code *)&iCol;
        }
        iVar19 = 0;
        uVar14 = 0;
        pcVar13 = pcStack_40;
        if (0 < (int)(pSVar32->tblHash).ht) {
          do {
            if (*(int *)pcVar13 == (int)pTab->iPKey) {
              *(int *)pcVar13 = -1;
            }
            if (psVar31->xAuth != (sqlite3_xauth)0x0) {
              if (pIdx == (Index *)0x0) {
                sVar35 = *(short *)&(pSVar12->trigHash).htsize;
              }
              else {
                sVar35 = pIdx->aiColumn[iVar19];
              }
              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,
                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);
              uVar14 = (uint)(iVar33 == 2);
            }
            iVar19 = iVar19 + 1;
            pcVar13 = (code *)((int)pcVar13 + 4);
          } while (iVar19 < (int)(pSVar32->tblHash).ht);
        }
        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;
        iDataCur = (Schema *)0x0;
        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);
        pParse->nTab = pParse->nTab + 1;
        if (regOld != 0) {
          in_stack_ffffff8c = 0xffffffff;
          iDataCur = (Schema *)pIdx;
          in_stack_ffffff80 = pSVar32;
          in_stack_ffffff84 = pcStack_40;
          in_stack_ffffff88 = regOld;
          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);
          uStack_70 = uVar14;
        }
        if (regNew != 0) {
          pPVar25 = pParse->pToplevel;
          if (pParse->pToplevel == (Parse *)0x0) {
            pPVar25 = pParse;
          }
          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||
             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,
               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||
               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&
              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||
               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {
            in_stack_ffffff8c = 1;
            iDataCur = (Schema *)pIdx;
            in_stack_ffffff80 = pSVar32;
            in_stack_ffffff88 = regNew;
            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);
            in_stack_ffffff84 = pcStack_40;
            uStack_70 = uVar14;
          }
        }
        if (aiFree == (int *)0x0) goto LAB_00109d78;
        (*(code *)(puVar4 + -0x2368))(psVar31);
        pSVar32 = (Schema *)pSVar32->iGeneration;
      } while (pSVar32 != (Schema *)0x0);
      iDataCur = pTab->pSchema;
    }
LAB_00109d88:
    pTrigger = (Schema *)0x0;
    pSVar11 = (Schema *)pTab->zName;
    pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;
    iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();
    puVar4 = PTR_LAB_00190ba8;
    sVar35 = (short)in_stack_ffffff88;
    pSVar7 = *(Schema **)(iVar6 + 8);
    if (pSVar7 != (Schema *)0x0) {
      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);
      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);
      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);
LAB_00109dd8:
      aiFree = (int *)0x0;
      iCol = 0;
      if ((aChange == (int *)0x0) ||
         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,
         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),
         iVar6 != 0)) {
        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&
           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&
            (pParse->isMultiWrite == '\0')))) {
          pSVar7 = (Schema *)(pSVar7->tblHash).count;
          goto LAB_0010a250;
        }
        in_stack_ffffff80 = (Schema *)&iCol;
        iDataCur = (Schema *)&aiFree;
        pParse_00 = (sqlite3 *)pParse;
        pSVar11 = (Schema *)pTab;
        pTrigger = pSVar7;
        iVar6 = (*pcVar10)();
        sVar35 = (short)in_stack_ffffff88;
        if (iVar6 != 0) {
          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;
          goto LAB_00109e60;
        }
        iDataCur = (Schema *)0x0;
        pTrigger = (Schema *)0x0;
        pParse_00 = (sqlite3 *)pParse;
        pSrc = (SrcList *)(*pcVar8)(pParse,0);
        if (pSrc != (SrcList *)0x0) {
          pTVar24 = (Table *)pSVar7->schema_cookie;
          pSrc->a[0].pTab = pTVar24;
          pSrc->a[0].zName = pTVar24->zName;
          pTVar24->nTabRef = pTVar24->nTabRef + 1;
          iVar6 = pParse->nTab;
          pParse->nTab = iVar6 + 1;
          pSrc->a[0].iCursor = iVar6;
          if (regNew != 0) {
            in_stack_ffffff8c = 0xffffffff;
            pTrigger = (Schema *)pTab;
            iDataCur = (Schema *)aiFree;
            in_stack_ffffff80 = pSVar7;
            in_stack_ffffff84 = (code *)iCol;
            in_stack_ffffff88 = regNew;
            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);
          }
          if (regOld != 0) {
            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);
            in_stack_ffffff8c = 1;
            pTrigger = (Schema *)pTab;
            iDataCur = (Schema *)aiFree;
            in_stack_ffffff80 = pSVar7;
            in_stack_ffffff84 = (code *)iCol;
            in_stack_ffffff88 = regOld;
            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);
            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {
              pPVar25 = pParse->pToplevel;
              if (pParse->pToplevel == (Parse *)0x0) {
                pPVar25 = pParse;
              }
              pPVar25->mayAbort = '\x01';
            }
          }
          pSrc->a[0].zName = (char *)0x0;
          pParse_00 = psVar31;
          (*pcVar9)(psVar31,pSrc);
        }
        pSVar11 = (Schema *)iCol;
        if (iCol != 0) {
          pParse_00 = psVar31;
          (*(code *)(puVar4 + -0x2368))();
        }
      }
LAB_0010a24c:
      pSVar7 = (Schema *)(pSVar7->tblHash).count;
LAB_0010a250:
      sVar35 = (short)in_stack_ffffff88;
      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;
      goto LAB_00109dd8;
    }
  }
LAB_00109e60:
  if (uStack_2c == *(uint *)puVar34) {
    return;
  }
  puVar34 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  ignoreJump = pParse_00->nSchemaLock - 1;
  pParse_00->nSchemaLock = ignoreJump;
  uVar14 = uStack_70 & 0xff;
  uVar21 = 0x1c;
  pCVar30 = pParse_00->pDfltColl;
  if (((uint)(pSVar11->idxHash).ht & 0x20) == 0) {
    uVar21 = 0x1f;
  }
  if (cStack_69 == '\0') {
    (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))
              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);
  }
  pSStack_d0 = (Schema *)&_gp;
  iVar6 = (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0);
  if ((iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)) {
    uVar16 = (pSVar11->tblHash).count;
    iVar19 = 0;
  }
  else {
    uVar15 = sqlite3TriggerColmask
                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,
                        uVar14);
    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {
      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);
      uVar15 = uVar15 | uVar16;
    }
    iVar33 = (int)pParse_00->lastRowid;
    iVar6 = *(int *)(puVar34 + 0x86810);
    iVar19 = iVar33 + 1;
    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;
    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);
    uVar16 = 0;
    iVar6 = (int)(short)(pSVar11->trigHash).htsize;
    if (0 < iVar6) {
      iVar22 = *(int *)(puVar34 + 0x86814);
      do {
        if ((uVar15 == 0xffffffff) ||
           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {
          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);
          iVar6 = (int)(short)(pSVar11->trigHash).htsize;
        }
        uVar16 = uVar16 + 1;
      } while ((int)uVar16 < iVar6);
    }
    pvVar17 = pCVar30[5].pUser;
    iVar6 = *(int *)(puVar34 + 0x86818);
    sqlite3CodeRowTrigger
              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19
               ,uVar14,ignoreJump);
    if ((int)pvVar17 < (int)pCVar30[5].pUser) {
      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))
                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);
      pSStack_d0 = (Schema *)0xffffffff;
    }
    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);
    uVar16 = (pSVar11->tblHash).count;
  }
  if (uVar16 == 0) {
    sqlite3GenerateRowIndexDelete
              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,
               (int)pSStack_d0);
    iVar33 = *(int *)(puVar34 + 0x86810);
    (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);
    if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {
LAB_0010a8b0:
      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);
    }
    else if ((pSVar11->schema_cookie != 0) &&
            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))
                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),
            iVar22 == 0)) goto LAB_0010a8b0;
    if (cStack_69 == '\0') {
      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;
      uVar27 = 0;
    }
    else {
      if (0 < (int)pCVar30[5].pUser) {
        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;
      }
      if (-1 < (int)pSStack_d0) {
LAB_0010a7a4:
        if (pSStack_d0 != iDataCur) {
          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);
        }
      }
      uVar27 = 2;
      if (cStack_69 != '\x02') {
        uVar27 = 0;
      }
    }
    if (0 < (int)pCVar30[5].pUser) {
      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;
      p_Var18 = pParse_00->pVfs->xFullPathname;
      goto joined_r0x0010a810;
    }
  }
  p_Var18 = pParse_00->pVfs->xFullPathname;
joined_r0x0010a810:
  if (((uint)p_Var18 & 0x4000) != 0) {
    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);
  }
  (*(code *)(iVar6 + -0x2cec))(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump);
                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))(pCVar30,ignoreJump);
  return;
}



void FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,
                 int ******param_5,int ******param_6)

{
  char cVar1;
  char cVar2;
  byte bVar3;
  short sVar4;
  undefined *puVar5;
  undefined *puVar6;
  int iVar7;
  int ******ppppppiVar8;
  code *pcVar9;
  code *pcVar10;
  code *pcVar11;
  int ******ppppppiVar12;
  int ******ppppppiVar13;
  code *pcVar14;
  bool bVar19;
  uint uVar15;
  uint uVar16;
  int ****ppppiVar17;
  int iVar18;
  int iVar20;
  undefined4 uVar21;
  int iVar22;
  int ******ppppppiVar23;
  undefined2 uVar24;
  int ******ppppppiVar25;
  int ******ppppppiVar26;
  int ******ppppppiVar27;
  int *****pppppiVar28;
  int ******ppppppiVar29;
  int *****pppppiVar30;
  int *****pppppiVar31;
  int ******ppppppiVar32;
  undefined *puVar33;
  int *****pppppiStack_d0;
  int ******in_stack_ffffff80;
  int *****local_7c;
  undefined4 local_78;
  undefined1 uStack_71;
  undefined1 uStack_6d;
  char cStack_69;
  int ****local_5c;
  int *****local_40;
  int *****local_38;
  int *****local_34;
  int *****local_30;
  int local_2c;
  
  puVar33 = PTR___stack_chk_guard_00190e24;
  ppppppiVar29 = (int ******)*param_1;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  ppppppiVar12 = param_1;
  ppppppiVar23 = param_2;
  ppppppiVar27 = param_3;
  ppppppiVar26 = param_4;
  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {
    ppppppiVar26 = (int ******)param_2[0x12];
    if (ppppppiVar26 == (int ******)0x0) {
      iVar20 = -16000000;
      iVar7 = -1000000;
    }
    else {
      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);
      iVar20 = iVar7 << 4;
    }
    puVar5 = PTR_LAB_00190ba8;
    cVar1 = *(char *)((int)param_1 + 0x8e);
    ppppppiVar32 = (int ******)param_2[4];
    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);
    if (ppppppiVar32 != (int ******)0x0) {
      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);
      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);
      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);
      do {
        while( true ) {
          local_34 = (int *****)0x0;
          local_38 = (int *****)0x0;
          ppppppiVar27 = (int ******)ppppppiVar32[2];
          if (param_5 == (int ******)0x0) break;
          ppppppiVar12 = ppppppiVar27;
          if (*param_2 == (int *****)0x0) {
joined_r0x00109ec0:
            if (ppppppiVar12 == (int ******)0x0) break;
          }
          else if (ppppppiVar27 != (int ******)0x0) {
            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)
            ;
            goto joined_r0x00109ec0;
          }
          if (0 < (int)ppppppiVar32[5]) {
            ppppppiVar12 = (int ******)ppppppiVar32[9];
            ppppppiVar23 = ppppppiVar32 + 0xb;
            if ((int)param_5[(int)ppppppiVar12] < 0) {
              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);
              pppppiVar28 = (int *****)0x0;
              do {
                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {
                  cVar2 = *(char *)((int)param_1 + 0x8e);
                  goto LAB_00109d04;
                }
                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);
                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;
                ppppppiVar12 = (int ******)*ppppppiVar23;
                ppppppiVar23 = ppppppiVar23 + 2;
              } while ((int)param_5[(int)ppppppiVar12] < 0);
            }
            break;
          }
LAB_00109d78:
          ppppppiVar32 = (int ******)ppppppiVar32[1];
          if (ppppppiVar32 == (int ******)0x0) {
            ppppppiVar26 = (int ******)param_2[0x12];
            goto LAB_00109d88;
          }
        }
        cVar2 = *(char *)((int)param_1 + 0x8e);
LAB_00109d04:
        if (cVar2 == '\0') {
          ppppppiVar23 = (int ******)0x0;
          ppppppiVar12 = param_1;
          ppppppiVar26 = ppppppiVar8;
          ppppppiVar13 = (int ******)FUN_001083a4();
        }
        else {
          ppppppiVar12 = ppppppiVar29;
          ppppppiVar25 = ppppppiVar8;
          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();
          ppppppiVar23 = ppppppiVar27;
          ppppppiVar27 = ppppppiVar25;
        }
        ppppppiVar25 = &local_34;
        if (ppppppiVar13 == (int ******)0x0) {
LAB_00109d58:
          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {
            if (ppppppiVar13 == (int ******)0x0) {
              local_5c = (int ****)param_1[2];
              if ((int *****)local_5c == (int *****)0x0) {
                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);
              }
              puVar6 = PTR_LAB_00190bc0;
              pppppiVar28 = ppppppiVar32[5];
              ppppiVar17 = (int ****)local_5c[0x1b];
              if (0 < (int)pppppiVar28) {
                ppppppiVar27 = ppppppiVar32 + 9;
                iVar20 = 0;
                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                do {
                  pppppiVar30 = *ppppppiVar27;
                  iVar20 = iVar20 + 1;
                  ppppppiVar27 = ppppppiVar27 + 2;
                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),
                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);
                } while (iVar20 < (int)ppppppiVar32[5]);
              }
              local_40 = (int *****)(puVar6 + 0x10fc);
              ppppppiVar26 = (int ******)0xffffffff;
              in_stack_ffffff80 = (int ******)0x0;
              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));
            }
            goto LAB_00109d78;
          }
          goto LAB_00109e60;
        }
        ppppppiVar26 = &local_38;
        ppppppiVar12 = param_1;
        ppppppiVar23 = ppppppiVar13;
        ppppppiVar27 = ppppppiVar32;
        iVar20 = (*pcVar9)();
        in_stack_ffffff80 = ppppppiVar25;
        if (iVar20 != 0) goto LAB_00109d58;
        local_40 = local_34;
        if ((int ******)local_34 == (int ******)0x0) {
          local_30 = ppppppiVar32[9];
          local_40 = (int *****)&local_30;
        }
        iVar20 = 0;
        bVar19 = false;
        ppppppiVar27 = (int ******)local_40;
        if (0 < (int)ppppppiVar32[5]) {
          do {
            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {
              *ppppppiVar27 = (int *****)0xffffffff;
            }
            if (ppppppiVar29[0x50] != (int *****)0x0) {
              if ((int ******)local_38 == (int ******)0x0) {
                sVar4 = *(short *)(ppppppiVar13 + 10);
              }
              else {
                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);
              }
              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);
              bVar19 = iVar22 == 2;
            }
            iVar20 = iVar20 + 1;
            ppppppiVar27 = ppppppiVar27 + 1;
          } while (iVar20 < (int)ppppppiVar32[5]);
        }
        in_stack_ffffff80 = (int ******)*ppppppiVar13;
        ppppppiVar26 = (int ******)0x0;
        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);
        param_1[10] = (int *****)((int)param_1[10] + 1);
        if (param_3 != (int ******)0x0) {
          uStack_71 = 0xff;
          local_7c = local_40;
          ppppppiVar26 = (int ******)local_38;
          in_stack_ffffff80 = ppppppiVar32;
          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);
          local_78 = param_3;
          uStack_6d = bVar19;
        }
        if (param_4 != (int ******)0x0) {
          ppppppiVar27 = (int ******)param_1[0x1d];
          if ((int ******)param_1[0x1d] == (int ******)0x0) {
            ppppppiVar27 = param_1;
          }
          if ((ppppppiVar27[0x40] == (int *****)0x0) ||
             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||
               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&
              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))
          {
            uStack_71 = 1;
            local_7c = local_40;
            ppppppiVar26 = (int ******)local_38;
            in_stack_ffffff80 = ppppppiVar32;
            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);
            local_78 = param_4;
            uStack_6d = bVar19;
          }
        }
        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;
        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);
        ppppppiVar32 = (int ******)ppppppiVar32[1];
      } while (ppppppiVar32 != (int ******)0x0);
      ppppppiVar26 = (int ******)param_2[0x12];
    }
LAB_00109d88:
    ppppppiVar27 = (int ******)0x0;
    ppppppiVar23 = (int ******)*param_2;
    ppppppiVar12 = ppppppiVar26 + 0xe;
    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();
    puVar5 = PTR_LAB_00190ba8;
    ppppppiVar8 = *(int *******)(iVar7 + 8);
    if (ppppppiVar8 != (int ******)0x0) {
      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);
      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);
      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);
LAB_00109dd8:
      local_34 = (int *****)0x0;
      local_30 = (int *****)0x0;
      if ((param_5 == (int ******)0x0) ||
         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,
         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {
        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&
           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&
            (*(char *)(param_1 + 5) == '\0')))) {
          ppppppiVar8 = (int ******)ppppppiVar8[3];
          goto LAB_0010a250;
        }
        in_stack_ffffff80 = &local_30;
        ppppppiVar26 = &local_34;
        ppppppiVar12 = param_1;
        ppppppiVar23 = param_2;
        ppppppiVar27 = ppppppiVar8;
        iVar7 = (*pcVar11)();
        if (iVar7 != 0) {
          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;
          goto LAB_00109e60;
        }
        ppppppiVar26 = (int ******)0x0;
        ppppppiVar27 = (int ******)0x0;
        ppppppiVar12 = param_1;
        iVar7 = (*pcVar9)(param_1,0);
        if (iVar7 != 0) {
          pppppiVar28 = *ppppppiVar8;
          *(int ******)(iVar7 + 0x18) = pppppiVar28;
          *(int *****)(iVar7 + 0x10) = *pppppiVar28;
          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);
          pppppiVar28 = param_1[10];
          param_1[10] = (int *****)((int)pppppiVar28 + 1);
          *(int ******)(iVar7 + 0x30) = pppppiVar28;
          if (param_4 != (int ******)0x0) {
            uStack_71 = 0xff;
            local_7c = local_30;
            ppppppiVar27 = param_2;
            ppppppiVar26 = (int ******)local_34;
            in_stack_ffffff80 = ppppppiVar8;
            FUN_000f5dd4(param_1,iVar7);
            local_78 = param_4;
          }
          if (param_3 != (int ******)0x0) {
            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);
            uStack_71 = 1;
            local_7c = local_30;
            ppppppiVar27 = param_2;
            ppppppiVar26 = (int ******)local_34;
            in_stack_ffffff80 = ppppppiVar8;
            FUN_000f5dd4(param_1,iVar7);
            local_78 = param_3;
            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {
              ppppppiVar12 = (int ******)param_1[0x1d];
              if ((int ******)param_1[0x1d] == (int ******)0x0) {
                ppppppiVar12 = param_1;
              }
              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;
            }
          }
          *(undefined4 *)(iVar7 + 0x10) = 0;
          ppppppiVar12 = ppppppiVar29;
          (*pcVar10)(ppppppiVar29,iVar7);
        }
        ppppppiVar23 = (int ******)local_30;
        if ((int ******)local_30 != (int ******)0x0) {
          ppppppiVar12 = ppppppiVar29;
          (*(code *)(puVar5 + -0x2368))();
        }
      }
LAB_0010a24c:
      ppppppiVar8 = (int ******)ppppppiVar8[3];
LAB_0010a250:
      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;
      goto LAB_00109dd8;
    }
  }
LAB_00109e60:
  if (local_2c == *(int *)puVar33) {
    return;
  }
  puVar33 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);
  ppppppiVar12[0xe] = pppppiVar30;
  uVar21 = 0x1c;
  pppppiVar28 = ppppppiVar12[2];
  if (((uint)ppppppiVar23[9] & 0x20) == 0) {
    uVar21 = 0x1f;
  }
  if (cStack_69 == '\0') {
    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))
              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);
  }
  pppppiStack_d0 = (int *****)&_gp_1;
  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);
  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {
    pppppiVar31 = ppppppiVar23[3];
    iVar20 = 0;
  }
  else {
    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);
    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {
      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);
      uVar15 = uVar15 | uVar16;
    }
    pppppiVar31 = ppppppiVar12[0xb];
    iVar7 = *(int *)(puVar33 + 0x86810);
    iVar20 = (int)pppppiVar31 + 1;
    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);
    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);
    uVar16 = 0;
    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);
    if (0 < iVar7) {
      iVar22 = *(int *)(puVar33 + 0x86814);
      do {
        if ((uVar15 == 0xffffffff) ||
           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {
          (*(code *)(iVar22 + 0x4eb8))
                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);
          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);
        }
        uVar16 = uVar16 + 1;
      } while ((int)uVar16 < iVar7);
    }
    ppppiVar17 = pppppiVar28[0x1b];
    iVar7 = *(int *)(puVar33 + 0x86818);
    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);
    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {
      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))
                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);
      pppppiStack_d0 = (int *****)0xffffffff;
    }
    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);
    pppppiVar31 = ppppppiVar23[3];
  }
  if (pppppiVar31 == (int *****)0x0) {
    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);
    iVar22 = *(int *)(puVar33 + 0x86810);
    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);
    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {
LAB_0010a8b0:
      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);
    }
    else if ((*ppppppiVar23 != (int *****)0x0) &&
            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))
                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))
    goto LAB_0010a8b0;
    if (cStack_69 == '\0') {
      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;
      uVar24 = 0;
    }
    else {
      if (0 < (int)pppppiVar28[0x1b]) {
        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;
      }
      if (-1 < (int)pppppiStack_d0) {
LAB_0010a7a4:
        if ((int ******)pppppiStack_d0 != ppppppiVar26) {
          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);
        }
      }
      uVar24 = 2;
      if (cStack_69 != '\x02') {
        uVar24 = 0;
      }
    }
    if (0 < (int)pppppiVar28[0x1b]) {
      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;
      ppppiVar17 = (*ppppppiVar12)[9];
      goto joined_r0x0010a810;
    }
  }
  ppppiVar17 = (*ppppppiVar12)[9];
joined_r0x0010a810:
  if (((uint)ppppiVar17 & 0x4000) != 0) {
    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);
  }
  (*(code *)(iVar7 + -0x2cec))
            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);
                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);
  return;
}


lui gp,0x9
addiu gp,gp,-0x12c4
addu gp,gp,t9
addiu sp,sp,-0x90
sw s4,0x78(sp)
sw s0,0x68(sp)
sw gp,0x28(sp)
sw ra,0x8c(sp)
sw s8,0x88(sp)
sw s7,0x84(sp)
sw s6,0x80(sp)
sw s5,0x7c(sp)
sw s3,0x74(sp)
sw s2,0x70(sp)
sw s1,0x6c(sp)
lw s2,0x0(a0)
lw s4,-0x7afc(gp)
lw s0,0xa0(sp)
sw a2,0x98(sp)
sw a3,0x9c(sp)
lw v0,0x24(s2)
lw v1,0x0(s4)
andi v0,v0,0x4000
sw v1,0x64(sp)
beq v0,zero,0x00109e60
_nop
lw a3,0x48(a1)
or s1,a0,zero
beq a3,zero,0x0010a390
_or s3,a1,zero
lw t9,-0x7d7c(gp)
or a1,a3,zero
addiu t9,t9,-0x31a4
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
sll v1,v0,0x4
or s5,v0,zero
lw v0,0x10(s2)
lbu a0,0x8e(s1)
lw s7,0x10(s3)
addu v0,v0,v1
sw a0,0x3c(sp)
lw v0,0x0(v0)
beq s7,zero,0x00109d88
_sw v0,0x38(sp)
lw v0,-0x7d78(gp)
sw v0,0x4c(sp)
lw v0,-0x7d5c(gp)
addiu v0,v0,-0x729c
sw v0,0x44(sp)
lw v0,-0x7d60(gp)
addiu v0,v0,0xb3c
sw v0,0x48(sp)
lw v0,-0x7d54(gp)
addiu v0,v0,-0x6e1c
sw v0,0x40(sp)
sw zero,0x5c(sp)
sw zero,0x58(sp)
beq s0,zero,0x00109d00
_lw t1,0x8(s7)
lw a0,0x0(s3)
beq a0,zero,0x00109ec0
_nop
beq t1,zero,0x00109ec8
_lw t9,-0x7d78(gp)
addiu t9,t9,0x20c8
jalr t9
_or a1,t1,zero
bne v0,zero,0x00109ec8
_lw gp,0x28(sp)
lbu v0,0x8e(s1)
beq v0,zero,0x00109e9c
_lw t9,-0x7d58(gp)
lw t9,-0x7d78(gp)
or a1,t1,zero
lw a2,0x38(sp)
addiu t9,t9,0x218c
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
or s8,v0,zero
beq s8,zero,0x00109d58
_addiu v0,sp,0x5c
lw t9,0x44(sp)
addiu a3,sp,0x58
sw v0,0x10(sp)
or a2,s7,zero
or a1,s8,zero
jalr t9
_or a0,s1,zero
beq v0,zero,0x00109fd4
_lw gp,0x28(sp)
lw v0,0x3c(sp)
beq v0,zero,0x00109e60
_nop
lbu v0,0x51(s2)
bne v0,zero,0x00109e60
_nop
beq s8,zero,0x00109f34
_nop
lw s7,0x4(s7)
bne s7,zero,0x00109cc8
_nop
lw a3,0x48(s3)
lw t9,-0x7de0(gp)
or a2,zero,zero
lw a1,0x0(s3)
addiu t9,t9,0x16c
jalr t9
_addiu a0,a3,0x38
lw s6,0x8(v0)
beq s6,zero,0x00109e60
_lw gp,0x28(sp)
lw v0,-0x7cc8(gp)
lw s5,-0x7d5c(gp)
lw s8,-0x7d78(gp)
sw v0,0x40(sp)
lw v0,-0x7d5c(gp)
addiu s5,s5,-0x729c
addiu v0,v0,-0x4194
sw v0,0x34(sp)
lw v0,-0x7d68(gp)
addiu v0,v0,-0x210c
sw v0,0x38(sp)
sw zero,0x5c(sp)
beq s0,zero,0x00109e08
_sw zero,0x60(sp)
lw t9,-0x7de0(gp)
or a2,s0,zero
lw a3,0xa4(sp)
or a1,s6,zero
addiu t9,t9,0x25dc
jalr t9
_or a0,s3,zero
beq v0,zero,0x0010a24c
_lw gp,0x28(sp)
lbu v0,0x18(s6)
bne v0,zero,0x00109e24
_addiu v0,sp,0x60
lw v0,0x24(s2)
ext v0,v0,0x13,0x1
beq v0,zero,0x0010a260
_addiu v0,sp,0x60
addiu a3,sp,0x5c
sw v0,0x10(sp)
or a2,s6,zero
or a1,s3,zero
or t9,s5,zero
jalr t9
_or a0,s1,zero
beq v0,zero,0x0010a1bc
_lw gp,0x28(sp)
lw v0,0x3c(sp)
beq v0,zero,0x00109e60
_nop
lbu v0,0x51(s2)
beq v0,zero,0x0010a24c
_nop
lw v1,0x64(sp)
lw v0,0x0(s4)
bne v1,v0,0x0010a3a4
_lw ra,0x8c(sp)
lw s8,0x88(sp)
lw s7,0x84(sp)
lw s6,0x80(sp)
lw s5,0x7c(sp)
lw s4,0x78(sp)
lw s3,0x74(sp)
lw s2,0x70(sp)
lw s1,0x6c(sp)
lw s0,0x68(sp)
jr ra
_addiu sp,sp,0x90
or a1,zero,zero
lw a3,0x38(sp)
or a2,t1,zero
addiu t9,t9,-0x7c5c
bal 0x001083a4
_or a0,s1,zero
lw gp,0x28(sp)
b 0x00109d2c
_or s8,v0,zero
beq t1,zero,0x00109d00
_nop
lw a2,0x14(s7)
blez a2,0x00109d78
_nop
lw v1,0x24(s7)
sll v0,v1,0x2
addu v0,s0,v0
lw v0,0x0(v0)
bgez v0,0x00109d00
_addiu a1,s7,0x2c
lh a3,0x28(s3)
b 0x00109f1c
_or a0,zero,zero
addiu a0,a0,0x1
beq a0,a2,0x00109d78
_nop
lw v1,0x0(a1)
sll v0,v1,0x2
addu v0,s0,v0
lw v0,0x0(v0)
bgez v0,0x00109d00
_addiu a1,a1,0x8
bne a3,v1,0x00109ef8
_lw v0,0xa4(sp)
beq v0,zero,0x00109efc
_addiu a0,a0,0x1
b 0x00109d04
_lbu v0,0x8e(s1)
lw v0,0x8(s1)
beq v0,zero,0x0010a280
_sw v0,0x34(sp)
lw v0,0x34(sp)
lw v1,0x14(s7)
lw v0,0x6c(v0)
addu v0,v1,v0
addiu v0,v0,0x1
blez v1,0x0010a380
_sw v0,0x54(sp)
lw v0,-0x7d60(gp)
addiu s6,s7,0x24
or s8,zero,zero
addiu v0,v0,0x10fc
sw v0,0x50(sp)
lw a2,0x0(s6)
li a1,0x32
lw v0,0x98(sp)
addiu s8,s8,0x1
lw a3,0x54(sp)
addiu s6,s6,0x8
lw a0,0x34(sp)
addu a2,v0,a2
lw t9,0x50(sp)
sw zero,0x10(sp)
jalr t9
_addiu a2,a2,0x1
lw v0,0x14(s7)
slt v0,s8,v0
bne v0,zero,0x00109f70
_nop
lbu a2,0x18(s7)
li a3,-0x1
lw a0,0x34(sp)
li a1,0x96
lw t9,0x50(sp)
jalr t9
_sw zero,0x10(sp)
b 0x00109d78
_lw gp,0x28(sp)
lw v1,0x5c(sp)
beq v1,zero,0x0010a1a8
_sw v1,0x50(sp)
lw a0,0x14(s7)
blez a0,0x0010a07c
_or t1,zero,zero
b 0x0010a048
_lw s6,0x50(sp)
lw a0,0x4(a0)
sll a1,t1,0x1
addu a0,a0,a1
lh a0,0x0(a0)
sll a0,a0,0x4
addu v0,v0,a0
lw a1,0x0(s8)
lw t9,0x40(sp)
or a3,s5,zero
sw t1,0x34(sp)
or a0,s1,zero
jalr t9
_lw a2,0x0(v0)
lw t1,0x34(sp)
xori v0,v0,0x2
sltiu v0,v0,0x1
lw a0,0x14(s7)
addiu t1,t1,0x1
slt a0,t1,a0
beq a0,zero,0x0010a07c
_addiu s6,s6,0x4
lh a0,0x28(s3)
lw a1,0x0(s6)
bne a1,a0,0x0010a05c
_li v1,-0x1
sw v1,0x0(s6)
lw a0,0x140(s2)
beq a0,zero,0x0010a034
_lw a0,0x58(sp)
bne a0,zero,0x00109ff4
_lw v0,0x4(s8)
lh a0,0x28(s8)
b 0x0010a008
_sll a0,a0,0x4
lw t1,0x0(s8)
or a3,zero,zero
lw a2,0x1c(s8)
or a0,s1,zero
lw t9,0x48(sp)
or a1,s5,zero
sw v0,0x34(sp)
jalr t9
_sw t1,0x10(sp)
lw a0,0x28(s1)
lw v1,0x98(sp)
lw gp,0x28(sp)
addiu a0,a0,0x1
lw v0,0x34(sp)
bne v1,zero,0x0010a164
_sw a0,0x28(s1)
lw v1,0x9c(sp)
beq v1,zero,0x0010a13c
_lw a1,0x5c(sp)
lw a0,0x74(s1)
movz a0,s1,a0
lw a0,0x100(a0)
beq a0,zero,0x0010a0fc
_lw t9,-0x7d5c(gp)
lw a0,0x0(a0)
lw a1,0x1c(s7)
beq a0,a1,0x0010a29c
_li a1,0x8
lw a1,0x20(s7)
beq a0,a1,0x0010a2b0
_li a0,0x8
lw t9,-0x7d5c(gp)
or a2,s8,zero
sw v0,0x20(sp)
li v0,0x1
sw s7,0x10(sp)
or a1,s5,zero
sw v0,0x1c(sp)
addiu t9,t9,0x45fc
lw v0,0x9c(sp)
or a0,s1,zero
lw a3,0x58(sp)
sw v0,0x18(sp)
lw v0,0x50(sp)
jalr t9
_sw v0,0x14(sp)
lw gp,0x28(sp)
lw a1,0x5c(sp)
beq a1,zero,0x00109d78
_lw v0,0x4c(sp)
addiu t9,v0,-0x2368
jalr t9
_or a0,s2,zero
lw s7,0x4(s7)
bne s7,zero,0x00109cc8
_lw gp,0x28(sp)
b 0x00109d88
_lw a3,0x48(s3)
lw t9,-0x7d5c(gp)
li a0,-0x1
lw a3,0x58(sp)
or a2,s8,zero
sw v0,0x20(sp)
or a1,s5,zero
sw a0,0x1c(sp)
addiu t9,t9,0x45fc
sw v1,0x18(sp)
or a0,s1,zero
sw s7,0x10(sp)
lw v0,0x50(sp)
jalr t9
_sw v0,0x14(sp)
lw gp,0x28(sp)
b 0x0010a0bc
_lw v0,0x34(sp)
lw a0,0x24(s7)
addiu v1,sp,0x60
sw v1,0x50(sp)
b 0x00109fe0
_sw a0,0x60(sp)
lw t9,0x34(sp)
or a3,zero,zero
or a2,zero,zero
or a1,zero,zero
jalr t9
_or a0,s1,zero
beq v0,zero,0x0010a234
_lw gp,0x28(sp)
lw a0,0x0(s6)
lw v1,0x9c(sp)
sw a0,0x18(v0)
lw a1,0x0(a0)
sw a1,0x10(v0)
lw a1,0x20(a0)
addiu a1,a1,0x1
sw a1,0x20(a0)
lw a0,0x28(s1)
addiu a1,a0,0x1
sw a1,0x28(s1)
bne v1,zero,0x0010a33c
_sw a0,0x30(v0)
lw v1,0x98(sp)
bne v1,zero,0x0010a2c4
_sltu a0,zero,s0
lw t9,0x38(sp)
or a1,v0,zero
sw zero,0x10(v0)
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
lw a1,0x60(sp)
beq a1,zero,0x0010a24c
_addiu t9,s8,-0x2368
jalr t9
_or a0,s2,zero
lw gp,0x28(sp)
lw s6,0xc(s6)
bne s6,zero,0x00109dd8
_nop
b 0x00109e60
_nop
lw v0,0x74(s1)
bne v0,zero,0x00109e24
_addiu v0,sp,0x60
lbu v0,0x14(s1)
bne v0,zero,0x00109e24
_addiu v0,sp,0x60
b 0x0010a250
_lw s6,0xc(s6)
lw t9,-0x7d60(gp)
addiu t9,t9,0x1274
jalr t9
_or a0,s1,zero
lw gp,0x28(sp)
b 0x00109f40
_sw v0,0x34(sp)
lbu a2,0x19(s7)
bne a2,a1,0x0010a0ec
_lw a1,0x5c(sp)
b 0x0010a13c
_nop
lbu a1,0x1a(s7)
bne a1,a0,0x0010a0fc
_lw t9,-0x7d5c(gp)
b 0x0010a13c
_lw a1,0x5c(sp)
lw v1,0x40(sp)
addu a0,s6,a0
lw t2,0x60(sp)
or a1,v0,zero
lw a3,0x5c(sp)
sw v0,0x44(sp)
li s7,0x1
lbu t0,0x19(a0)
addiu t9,v1,0x5dd4
lw v0,0x98(sp)
or a0,s1,zero
or a2,s3,zero
sw s7,0x1c(sp)
sw t0,0x48(sp)
sw v0,0x18(sp)
sw t2,0x14(sp)
bal 0x000f5dd4
_sw s6,0x10(sp)
lbu a0,0x18(s6)
bne a0,zero,0x0010a21c
_lw v0,0x44(sp)
lw t0,0x48(sp)
li a0,0x8
andi t0,t0,0xfd
beq t0,a0,0x0010a220
_lw t9,0x38(sp)
lw a0,0x74(s1)
movz a0,s1,a0
b 0x0010a21c
_sb s7,0x15(a0)
lw v1,0x40(sp)
li a0,-0x1
lw a3,0x5c(sp)
or a1,v0,zero
sw a0,0x1c(sp)
or a2,s3,zero
sw v0,0x44(sp)
addiu t9,v1,0x5dd4
sw s6,0x10(sp)
lw a0,0x60(sp)
lw v1,0x9c(sp)
sw a0,0x14(sp)
or a0,s1,zero
bal 0x000f5dd4
_sw v1,0x18(sp)
b 0x0010a210
_lw v0,0x44(sp)
lw v0,-0x7d60(gp)
addiu v0,v0,0x10fc
b 0x00109fb0
_sw v0,0x50(sp)
lui v0,0xff0b
lui s5,0xfff0
ori v1,v0,0xdc00
b 0x00109c7c
_ori s5,s5,0xbdc0
lw t9,-0x7b28(gp)
jalr t9
_nop
(translation_unit "void FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}\n\n" (function_definition "void FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}" primitive_type (function_declarator "FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)" identifier (parameter_list "(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)" ( (parameter_declaration "int ******param_1" primitive_type (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))))))) , (parameter_declaration "int ******param_2" primitive_type (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))))))) , (parameter_declaration "int ******param_3" primitive_type (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) , (parameter_declaration "int ******param_4" primitive_type (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))))) , (parameter_declaration "int ******param_5" primitive_type (pointer_declarator "******param_5" * (pointer_declarator "*****param_5" * (pointer_declarator "****param_5" * (pointer_declarator "***param_5" * (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))))))) , (parameter_declaration "int ******param_6" primitive_type (pointer_declarator "******param_6" * (pointer_declarator "*****param_6" * (pointer_declarator "****param_6" * (pointer_declarator "***param_6" * (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier))))))) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "short sVar4;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int ******ppppppiVar8;" primitive_type (pointer_declarator "******ppppppiVar8" * (pointer_declarator "*****ppppppiVar8" * (pointer_declarator "****ppppppiVar8" * (pointer_declarator "***ppppppiVar8" * (pointer_declarator "**ppppppiVar8" * (pointer_declarator "*ppppppiVar8" * identifier)))))) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int ******ppppppiVar12;" primitive_type (pointer_declarator "******ppppppiVar12" * (pointer_declarator "*****ppppppiVar12" * (pointer_declarator "****ppppppiVar12" * (pointer_declarator "***ppppppiVar12" * (pointer_declarator "**ppppppiVar12" * (pointer_declarator "*ppppppiVar12" * identifier)))))) ;) (declaration "int ******ppppppiVar13;" primitive_type (pointer_declarator "******ppppppiVar13" * (pointer_declarator "*****ppppppiVar13" * (pointer_declarator "****ppppppiVar13" * (pointer_declarator "***ppppppiVar13" * (pointer_declarator "**ppppppiVar13" * (pointer_declarator "*ppppppiVar13" * identifier)))))) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int ****ppppiVar17;" primitive_type (pointer_declarator "****ppppiVar17" * (pointer_declarator "***ppppiVar17" * (pointer_declarator "**ppppiVar17" * (pointer_declarator "*ppppiVar17" * identifier)))) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int ******ppppppiVar23;" primitive_type (pointer_declarator "******ppppppiVar23" * (pointer_declarator "*****ppppppiVar23" * (pointer_declarator "****ppppppiVar23" * (pointer_declarator "***ppppppiVar23" * (pointer_declarator "**ppppppiVar23" * (pointer_declarator "*ppppppiVar23" * identifier)))))) ;) (declaration "undefined2 uVar24;" type_identifier identifier ;) (declaration "int ******ppppppiVar25;" primitive_type (pointer_declarator "******ppppppiVar25" * (pointer_declarator "*****ppppppiVar25" * (pointer_declarator "****ppppppiVar25" * (pointer_declarator "***ppppppiVar25" * (pointer_declarator "**ppppppiVar25" * (pointer_declarator "*ppppppiVar25" * identifier)))))) ;) (declaration "int ******ppppppiVar26;" primitive_type (pointer_declarator "******ppppppiVar26" * (pointer_declarator "*****ppppppiVar26" * (pointer_declarator "****ppppppiVar26" * (pointer_declarator "***ppppppiVar26" * (pointer_declarator "**ppppppiVar26" * (pointer_declarator "*ppppppiVar26" * identifier)))))) ;) (declaration "int ******ppppppiVar27;" primitive_type (pointer_declarator "******ppppppiVar27" * (pointer_declarator "*****ppppppiVar27" * (pointer_declarator "****ppppppiVar27" * (pointer_declarator "***ppppppiVar27" * (pointer_declarator "**ppppppiVar27" * (pointer_declarator "*ppppppiVar27" * identifier)))))) ;) (declaration "int *****pppppiVar28;" primitive_type (pointer_declarator "*****pppppiVar28" * (pointer_declarator "****pppppiVar28" * (pointer_declarator "***pppppiVar28" * (pointer_declarator "**pppppiVar28" * (pointer_declarator "*pppppiVar28" * identifier))))) ;) (declaration "int ******ppppppiVar29;" primitive_type (pointer_declarator "******ppppppiVar29" * (pointer_declarator "*****ppppppiVar29" * (pointer_declarator "****ppppppiVar29" * (pointer_declarator "***ppppppiVar29" * (pointer_declarator "**ppppppiVar29" * (pointer_declarator "*ppppppiVar29" * identifier)))))) ;) (declaration "int *****pppppiVar30;" primitive_type (pointer_declarator "*****pppppiVar30" * (pointer_declarator "****pppppiVar30" * (pointer_declarator "***pppppiVar30" * (pointer_declarator "**pppppiVar30" * (pointer_declarator "*pppppiVar30" * identifier))))) ;) (declaration "int *****pppppiVar31;" primitive_type (pointer_declarator "*****pppppiVar31" * (pointer_declarator "****pppppiVar31" * (pointer_declarator "***pppppiVar31" * (pointer_declarator "**pppppiVar31" * (pointer_declarator "*pppppiVar31" * identifier))))) ;) (declaration "int ******ppppppiVar32;" primitive_type (pointer_declarator "******ppppppiVar32" * (pointer_declarator "*****ppppppiVar32" * (pointer_declarator "****ppppppiVar32" * (pointer_declarator "***ppppppiVar32" * (pointer_declarator "**ppppppiVar32" * (pointer_declarator "*ppppppiVar32" * identifier)))))) ;) (declaration "undefined *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int *****pppppiStack_d0;" primitive_type (pointer_declarator "*****pppppiStack_d0" * (pointer_declarator "****pppppiStack_d0" * (pointer_declarator "***pppppiStack_d0" * (pointer_declarator "**pppppiStack_d0" * (pointer_declarator "*pppppiStack_d0" * identifier))))) ;) (declaration "int ******in_stack_ffffff80;" primitive_type (pointer_declarator "******in_stack_ffffff80" * (pointer_declarator "*****in_stack_ffffff80" * (pointer_declarator "****in_stack_ffffff80" * (pointer_declarator "***in_stack_ffffff80" * (pointer_declarator "**in_stack_ffffff80" * (pointer_declarator "*in_stack_ffffff80" * identifier)))))) ;) (declaration "int *****local_7c;" primitive_type (pointer_declarator "*****local_7c" * (pointer_declarator "****local_7c" * (pointer_declarator "***local_7c" * (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier))))) ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined1 uStack_71;" type_identifier identifier ;) (declaration "undefined1 uStack_6d;" type_identifier identifier ;) (declaration "char cStack_69;" primitive_type identifier ;) (declaration "int ****local_5c;" primitive_type (pointer_declarator "****local_5c" * (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)))) ;) (declaration "int *****local_40;" primitive_type (pointer_declarator "*****local_40" * (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier))))) ;) (declaration "int *****local_38;" primitive_type (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))) ;) (declaration "int *****local_34;" primitive_type (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))))) ;) (declaration "int *****local_30;" primitive_type (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))))) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar33 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar33 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "ppppppiVar29 = (int ******)*param_1;" (assignment_expression "ppppppiVar29 = (int ******)*param_1" identifier = (cast_expression "(int ******)*param_1" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar23 = param_2;" (assignment_expression "ppppppiVar23 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar27 = param_3;" (assignment_expression "ppppppiVar27 = param_3" identifier = identifier) ;) (expression_statement "ppppppiVar26 = param_4;" (assignment_expression "ppppppiVar26 = param_4" identifier = identifier) ;) (if_statement "if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" if (parenthesized_expression "(((uint)ppppppiVar29[9] & 0x4000) != 0)" ( (binary_expression "((uint)ppppppiVar29[9] & 0x4000) != 0" (parenthesized_expression "((uint)ppppppiVar29[9] & 0x4000)" ( (binary_expression "(uint)ppppppiVar29[9] & 0x4000" (cast_expression "(uint)ppppppiVar29[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppiVar29[9]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" { (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" identifier = (cast_expression "(int ******)param_2[0x12]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" if (parenthesized_expression "(ppppppiVar26 == (int ******)0x0)" ( (binary_expression "ppppppiVar26 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }" { (expression_statement "iVar20 = -16000000;" (assignment_expression "iVar20 = -16000000" identifier = number_literal) ;) (expression_statement "iVar7 = -1000000;" (assignment_expression "iVar7 = -1000000" identifier = number_literal) ;) }) (else_clause "else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" else (compound_statement "{\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" { (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(ppppppiVar29,ppppppiVar26)" ( identifier , identifier )))) ;) (expression_statement "iVar20 = iVar7 << 4;" (assignment_expression "iVar20 = iVar7 << 4" identifier = (binary_expression "iVar7 << 4" identifier << number_literal)) ;) }))) (expression_statement "puVar5 = PTR_LAB_00190ba8;" (assignment_expression "puVar5 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "cVar1 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar1 = *(char *)((int)param_1 + 0x8e)" identifier = (pointer_expression "*(char *)((int)param_1 + 0x8e)" * (cast_expression "(char *)((int)param_1 + 0x8e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x8e)" ( (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppppiVar32 = (int ******)param_2[4];" (assignment_expression "ppppppiVar32 = (int ******)param_2[4]" identifier = (cast_expression "(int ******)param_2[4]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);" (assignment_expression "ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20)" identifier = (pointer_expression "*(int *******)((int)ppppppiVar29[4] + iVar20)" * (cast_expression "(int *******)((int)ppppppiVar29[4] + iVar20)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppppiVar29[4] + iVar20)" ( (binary_expression "(int)ppppppiVar29[4] + iVar20" (cast_expression "(int)ppppppiVar29[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar29[4]" identifier [ number_literal ])) + identifier) ))))) ;) (if_statement "if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }" if (parenthesized_expression "(ppppppiVar32 != (int ******)0x0)" ( (binary_expression "ppppppiVar32 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }" { (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" ( (binary_expression "PTR_LAB_00190bc4 + -0x729c" identifier + number_literal) )))) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xb3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xb3c)" ( (binary_expression "PTR_LAB_00190bc0 + 0xb3c" identifier + number_literal) )))) ;) (expression_statement "pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);" (assignment_expression "pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bcc + -0x6e1c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bcc + -0x6e1c)" ( (binary_expression "PTR_LAB_00190bcc + -0x6e1c" identifier + number_literal) )))) ;) (do_statement "do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);" do (compound_statement "{\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      }" { (while_statement "while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }" { (expression_statement "local_34 = (int *****)0x0;" (assignment_expression "local_34 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_38 = (int *****)0x0;" (assignment_expression "local_38 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppiVar27 = (int ******)ppppppiVar32[2];" (assignment_expression "ppppppiVar27 = (int ******)ppppppiVar32[2]" identifier = (cast_expression "(int ******)ppppppiVar32[2]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[2]" identifier [ number_literal ]))) ;) (if_statement "if (param_5 == (int ******)0x0) break;" if (parenthesized_expression "(param_5 == (int ******)0x0)" ( (binary_expression "param_5 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "ppppppiVar12 = ppppppiVar27;" (assignment_expression "ppppppiVar12 = ppppppiVar27" identifier = identifier) ;) (if_statement "if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" if (parenthesized_expression "(*param_2 == (int *****)0x0)" ( (binary_expression "*param_2 == (int *****)0x0" (pointer_expression "*param_2" * identifier) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }" { (labeled_statement "joined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;" statement_identifier : (if_statement "if (ppppppiVar12 == (int ******)0x0) break;" if (parenthesized_expression "(ppppppiVar12 == (int ******)0x0)" ( (binary_expression "ppppppiVar12 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (break_statement "break;" break ;))) }) (else_clause "else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" else (if_statement "if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" if (parenthesized_expression "(ppppppiVar27 != (int ******)0x0)" ( (binary_expression "ppppppiVar27 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" { (expression_statement "ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;" (assignment_expression "ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" identifier = (cast_expression "(int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x20c8)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x20c8)" ( (binary_expression "PTR_LAB_00190ba8 + 0x20c8" identifier + number_literal) )))) )) (argument_list "(*param_2,ppppppiVar27)" ( (pointer_expression "*param_2" * identifier) , identifier ))))) ;) (goto_statement "goto joined_r0x00109ec0;" goto statement_identifier ;) })))) (if_statement "if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }" if (parenthesized_expression "(0 < (int)ppppppiVar32[5])" ( (binary_expression "0 < (int)ppppppiVar32[5]" number_literal < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) (compound_statement "{\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }" { (expression_statement "ppppppiVar12 = (int ******)ppppppiVar32[9];" (assignment_expression "ppppppiVar12 = (int ******)ppppppiVar32[9]" identifier = (cast_expression "(int ******)ppppppiVar32[9]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[9]" identifier [ number_literal ]))) ;) (expression_statement "ppppppiVar23 = ppppppiVar32 + 0xb;" (assignment_expression "ppppppiVar23 = ppppppiVar32 + 0xb" identifier = (binary_expression "ppppppiVar32 + 0xb" identifier + number_literal)) ;) (if_statement "if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }" if (parenthesized_expression "((int)param_5[(int)ppppppiVar12] < 0)" ( (binary_expression "(int)param_5[(int)ppppppiVar12] < 0" (cast_expression "(int)param_5[(int)ppppppiVar12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_5[(int)ppppppiVar12]" identifier [ (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) ])) < number_literal) )) (compound_statement "{\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }" { (expression_statement "ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);" (assignment_expression "ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10)" identifier = (cast_expression "(int ******)(int)*(short *)(param_2 + 10)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (cast_expression "(int)*(short *)(param_2 + 10)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(param_2 + 10)" * (cast_expression "(short *)(param_2 + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) ))))))) ;) (expression_statement "pppppiVar28 = (int *****)0x0;" (assignment_expression "pppppiVar28 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (do_statement "do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);" do (compound_statement "{\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              }" { (if_statement "if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }" if (parenthesized_expression "((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0))" ( (binary_expression "(ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)" (parenthesized_expression "(ppppppiVar26 == ppppppiVar12)" ( (binary_expression "ppppppiVar26 == ppppppiVar12" identifier == identifier) )) && (parenthesized_expression "(param_6 != (int ******)0x0)" ( (binary_expression "param_6 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (compound_statement "{\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }" { (expression_statement "cVar2 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar2 = *(char *)((int)param_1 + 0x8e)" identifier = (pointer_expression "*(char *)((int)param_1 + 0x8e)" * (cast_expression "(char *)((int)param_1 + 0x8e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x8e)" ( (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00109d04;" goto statement_identifier ;) })) (expression_statement "pppppiVar28 = (int *****)((int)pppppiVar28 + 1);" (assignment_expression "pppppiVar28 = (int *****)((int)pppppiVar28 + 1)" identifier = (cast_expression "(int *****)((int)pppppiVar28 + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar28 + 1)" ( (binary_expression "(int)pppppiVar28 + 1" (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;" if (parenthesized_expression "(pppppiVar28 == ppppppiVar32[5])" ( (binary_expression "pppppiVar28 == ppppppiVar32[5]" identifier == (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;)) (expression_statement "ppppppiVar12 = (int ******)*ppppppiVar23;" (assignment_expression "ppppppiVar12 = (int ******)*ppppppiVar23" identifier = (cast_expression "(int ******)*ppppppiVar23" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppiVar23" * identifier))) ;) (expression_statement "ppppppiVar23 = ppppppiVar23 + 2;" (assignment_expression "ppppppiVar23 = ppppppiVar23 + 2" identifier = (binary_expression "ppppppiVar23 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)param_5[(int)ppppppiVar12] < 0)" ( (binary_expression "(int)param_5[(int)ppppppiVar12] < 0" (cast_expression "(int)param_5[(int)ppppppiVar12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_5[(int)ppppppiVar12]" identifier [ (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) ])) < number_literal) )) ;) })) (break_statement "break;" break ;) })) (labeled_statement "LAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];" statement_identifier : (expression_statement "ppppppiVar32 = (int ******)ppppppiVar32[1];" (assignment_expression "ppppppiVar32 = (int ******)ppppppiVar32[1]" identifier = (cast_expression "(int ******)ppppppiVar32[1]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[1]" identifier [ number_literal ]))) ;)) (if_statement "if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }" if (parenthesized_expression "(ppppppiVar32 == (int ******)0x0)" ( (binary_expression "ppppppiVar32 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }" { (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" identifier = (cast_expression "(int ******)param_2[0x12]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00109d88;" goto statement_identifier ;) })) })) (expression_statement "cVar2 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar2 = *(char *)((int)param_1 + 0x8e)" identifier = (pointer_expression "*(char *)((int)param_1 + 0x8e)" * (cast_expression "(char *)((int)param_1 + 0x8e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x8e)" ( (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" statement_identifier : (if_statement "if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }" { (expression_statement "ppppppiVar23 = (int ******)0x0;" (assignment_expression "ppppppiVar23 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar26 = ppppppiVar8;" (assignment_expression "ppppppiVar26 = ppppppiVar8" identifier = identifier) ;) (expression_statement "ppppppiVar13 = (int ******)FUN_001083a4();" (assignment_expression "ppppppiVar13 = (int ******)FUN_001083a4()" identifier = (cast_expression "(int ******)FUN_001083a4()" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_001083a4()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" else (compound_statement "{\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" { (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" identifier = identifier) ;) (expression_statement "ppppppiVar25 = ppppppiVar8;" (assignment_expression "ppppppiVar25 = ppppppiVar8" identifier = identifier) ;) (expression_statement "ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();" (assignment_expression "ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" identifier = (cast_expression "(int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x218c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x218c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x218c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x218c" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppiVar23 = ppppppiVar27;" (assignment_expression "ppppppiVar23 = ppppppiVar27" identifier = identifier) ;) (expression_statement "ppppppiVar27 = ppppppiVar25;" (assignment_expression "ppppppiVar27 = ppppppiVar25" identifier = identifier) ;) })))) (expression_statement "ppppppiVar25 = &local_34;" (assignment_expression "ppppppiVar25 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (if_statement "if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" if (parenthesized_expression "(ppppppiVar13 == (int ******)0x0)" ( (binary_expression "ppppppiVar13 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" { (labeled_statement "LAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" statement_identifier : (if_statement "if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" if (parenthesized_expression "((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0'))" ( (binary_expression "(cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)((int)ppppppiVar29 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)ppppppiVar29 + 0x51) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar29 + 0x51)" * (cast_expression "(char *)((int)ppppppiVar29 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar29 + 0x51)" ( (binary_expression "(int)ppppppiVar29 + 0x51" (cast_expression "(int)ppppppiVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" { (if_statement "if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }" if (parenthesized_expression "(ppppppiVar13 == (int ******)0x0)" ( (binary_expression "ppppppiVar13 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }" { (expression_statement "local_5c = (int ****)param_1[2];" (assignment_expression "local_5c = (int ****)param_1[2]" identifier = (cast_expression "(int ****)param_1[2]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (if_statement "if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }" if (parenthesized_expression "((int *****)local_5c == (int *****)0x0)" ( (binary_expression "(int *****)local_5c == (int *****)0x0" (cast_expression "(int *****)local_5c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }" { (expression_statement "local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);" (assignment_expression "local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" identifier = (cast_expression "(int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" ( (binary_expression "PTR_LAB_00190bc0 + 0x1274" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) ;) })) (expression_statement "puVar6 = PTR_LAB_00190bc0;" (assignment_expression "puVar6 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "pppppiVar28 = ppppppiVar32[5];" (assignment_expression "pppppiVar28 = ppppppiVar32[5]" identifier = (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ])) ;) (expression_statement "ppppiVar17 = (int ****)local_5c[0x1b];" (assignment_expression "ppppiVar17 = (int ****)local_5c[0x1b]" identifier = (cast_expression "(int ****)local_5c[0x1b]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "local_5c[0x1b]" identifier [ number_literal ]))) ;) (if_statement "if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }" if (parenthesized_expression "(0 < (int)pppppiVar28)" ( (binary_expression "0 < (int)pppppiVar28" number_literal < (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }" { (expression_statement "ppppppiVar27 = ppppppiVar32 + 9;" (assignment_expression "ppppppiVar27 = ppppppiVar32 + 9" identifier = (binary_expression "ppppppiVar32 + 9" identifier + number_literal)) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);" do (compound_statement "{\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                }" { (expression_statement "pppppiVar30 = *ppppppiVar27;" (assignment_expression "pppppiVar30 = *ppppppiVar27" identifier = (pointer_expression "*ppppppiVar27" * identifier)) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "ppppppiVar27 = ppppppiVar27 + 2;" (assignment_expression "ppppppiVar27 = ppppppiVar27 + 2" identifier = (binary_expression "ppppppiVar27 + 2" identifier + number_literal)) ;) (expression_statement "(*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);" (call_expression "(*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0)" ( identifier , number_literal , (cast_expression "(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)pppppiVar30 + 1)" ( (binary_expression "(int)param_3 + (int)pppppiVar30 + 1" (binary_expression "(int)param_3 + (int)pppppiVar30" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ))) , (binary_expression "(int)pppppiVar28 + (int)ppppiVar17 + 1" (binary_expression "(int)pppppiVar28 + (int)ppppiVar17" (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppiVar17" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) , number_literal ))) ;) }) while (parenthesized_expression "(iVar20 < (int)ppppppiVar32[5])" ( (binary_expression "iVar20 < (int)ppppppiVar32[5]" identifier < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) ;) })) (expression_statement "local_40 = (int *****)(puVar6 + 0x10fc);" (assignment_expression "local_40 = (int *****)(puVar6 + 0x10fc)" identifier = (cast_expression "(int *****)(puVar6 + 0x10fc)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar6 + 0x10fc)" ( (binary_expression "puVar6 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar26 = (int ******)0xffffffff;" (assignment_expression "ppppppiVar26 = (int ******)0xffffffff" identifier = (cast_expression "(int ******)0xffffffff" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "in_stack_ffffff80 = (int ******)0x0;" (assignment_expression "in_stack_ffffff80 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));" (call_expression "(*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6))" (parenthesized_expression "(*(code *)local_40)" ( (pointer_expression "*(code *)local_40" * (cast_expression "(code *)local_40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6))" ( identifier , number_literal , (pointer_expression "*(undefined1 *)(ppppppiVar32 + 6)" * (cast_expression "(undefined1 *)(ppppppiVar32 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar32 + 6)" ( (binary_expression "ppppppiVar32 + 6" identifier + number_literal) )))) ))) ;) })) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;) }))) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;) })) (expression_statement "ppppppiVar26 = &local_38;" (assignment_expression "ppppppiVar26 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar23 = ppppppiVar13;" (assignment_expression "ppppppiVar23 = ppppppiVar13" identifier = identifier) ;) (expression_statement "ppppppiVar27 = ppppppiVar32;" (assignment_expression "ppppppiVar27 = ppppppiVar32" identifier = identifier) ;) (expression_statement "iVar20 = (*pcVar9)();" (assignment_expression "iVar20 = (*pcVar9)()" identifier = (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar25;" (assignment_expression "in_stack_ffffff80 = ppppppiVar25" identifier = identifier) ;) (if_statement "if (iVar20 != 0) goto LAB_00109d58;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00109d58;" goto statement_identifier ;)) (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" identifier = identifier) ;) (if_statement "if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }" if (parenthesized_expression "((int ******)local_34 == (int ******)0x0)" ( (binary_expression "(int ******)local_34 == (int ******)0x0" (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }" { (expression_statement "local_30 = ppppppiVar32[9];" (assignment_expression "local_30 = ppppppiVar32[9]" identifier = (subscript_expression "ppppppiVar32[9]" identifier [ number_literal ])) ;) (expression_statement "local_40 = (int *****)&local_30;" (assignment_expression "local_40 = (int *****)&local_30" identifier = (cast_expression "(int *****)&local_30" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&local_30" & identifier))) ;) })) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (expression_statement "ppppppiVar27 = (int ******)local_40;" (assignment_expression "ppppppiVar27 = (int ******)local_40" identifier = (cast_expression "(int ******)local_40" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }" if (parenthesized_expression "(0 < (int)ppppppiVar32[5])" ( (binary_expression "0 < (int)ppppppiVar32[5]" number_literal < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) (compound_statement "{\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }" { (do_statement "do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);" do (compound_statement "{\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          }" { (if_statement "if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }" if (parenthesized_expression "(*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10))" ( (binary_expression "*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)" (pointer_expression "*ppppppiVar27" * identifier) == (cast_expression "(int *****)(int)*(short *)(param_2 + 10)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(param_2 + 10)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(param_2 + 10)" * (cast_expression "(short *)(param_2 + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) ))))))) )) (compound_statement "{\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }" { (expression_statement "*ppppppiVar27 = (int *****)0xffffffff;" (assignment_expression "*ppppppiVar27 = (int *****)0xffffffff" (pointer_expression "*ppppppiVar27" * identifier) = (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (if_statement "if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }" if (parenthesized_expression "(ppppppiVar29[0x50] != (int *****)0x0)" ( (binary_expression "ppppppiVar29[0x50] != (int *****)0x0" (subscript_expression "ppppppiVar29[0x50]" identifier [ number_literal ]) != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }" { (if_statement "if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" if (parenthesized_expression "((int ******)local_38 == (int ******)0x0)" ( (binary_expression "(int ******)local_38 == (int ******)0x0" (cast_expression "(int ******)local_38" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }" { (expression_statement "sVar4 = *(short *)(ppppppiVar13 + 10);" (assignment_expression "sVar4 = *(short *)(ppppppiVar13 + 10)" identifier = (pointer_expression "*(short *)(ppppppiVar13 + 10)" * (cast_expression "(short *)(ppppppiVar13 + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar13 + 10)" ( (binary_expression "ppppppiVar13 + 10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" else (compound_statement "{\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" { (expression_statement "sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);" (assignment_expression "sVar4 = *(short *)((int)local_38[1] + iVar20 * 2)" identifier = (pointer_expression "*(short *)((int)local_38[1] + iVar20 * 2)" * (cast_expression "(short *)((int)local_38[1] + iVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_38[1] + iVar20 * 2)" ( (binary_expression "(int)local_38[1] + iVar20 * 2" (cast_expression "(int)local_38[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_38[1]" identifier [ number_literal ])) + (binary_expression "iVar20 * 2" identifier * number_literal)) ))))) ;) }))) (expression_statement "iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);" (assignment_expression "iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" identifier = (call_expression "(*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" ( identifier , (pointer_expression "*ppppppiVar13" * identifier) , (subscript_expression "ppppppiVar13[1][sVar4 * 4]" (subscript_expression "ppppppiVar13[1]" identifier [ number_literal ]) [ (binary_expression "sVar4 * 4" identifier * number_literal) ]) , identifier )))) ;) (expression_statement "bVar19 = iVar22 == 2;" (assignment_expression "bVar19 = iVar22 == 2" identifier = (binary_expression "iVar22 == 2" identifier == number_literal)) ;) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "ppppppiVar27 = ppppppiVar27 + 1;" (assignment_expression "ppppppiVar27 = ppppppiVar27 + 1" identifier = (binary_expression "ppppppiVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < (int)ppppppiVar32[5])" ( (binary_expression "iVar20 < (int)ppppppiVar32[5]" identifier < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) ;) })) (expression_statement "in_stack_ffffff80 = (int ******)*ppppppiVar13;" (assignment_expression "in_stack_ffffff80 = (int ******)*ppppppiVar13" identifier = (cast_expression "(int ******)*ppppppiVar13" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppiVar13" * identifier))) ;) (expression_statement "ppppppiVar26 = (int ******)0x0;" (assignment_expression "ppppppiVar26 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*pcVar10)(param_1,iVar7,ppppppiVar13[7]);" (call_expression "(*pcVar10)(param_1,iVar7,ppppppiVar13[7])" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(param_1,iVar7,ppppppiVar13[7])" ( identifier , identifier , (subscript_expression "ppppppiVar13[7]" identifier [ number_literal ]) ))) ;) (expression_statement "param_1[10] = (int *****)((int)param_1[10] + 1);" (assignment_expression "param_1[10] = (int *****)((int)param_1[10] + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int *****)((int)param_1[10] + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)param_1[10] + 1)" ( (binary_expression "(int)param_1[10] + 1" (cast_expression "(int)param_1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }" if (parenthesized_expression "(param_3 != (int ******)0x0)" ( (binary_expression "param_3 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }" { (expression_statement "uStack_71 = 0xff;" (assignment_expression "uStack_71 = 0xff" identifier = number_literal) ;) (expression_statement "local_7c = local_40;" (assignment_expression "local_7c = local_40" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_38;" (assignment_expression "ppppppiVar26 = (int ******)local_38" identifier = (cast_expression "(int ******)local_38" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar32;" (assignment_expression "in_stack_ffffff80 = ppppppiVar32" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" ( (binary_expression "PTR_LAB_00190bc4 + 0x45fc" identifier + number_literal) )))) )) (argument_list "(param_1,iVar7,ppppppiVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = param_3;" (assignment_expression "local_78 = param_3" identifier = identifier) ;) (expression_statement "uStack_6d = bVar19;" (assignment_expression "uStack_6d = bVar19" identifier = identifier) ;) })) (if_statement "if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }" if (parenthesized_expression "(param_4 != (int ******)0x0)" ( (binary_expression "param_4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }" { (expression_statement "ppppppiVar27 = (int ******)param_1[0x1d];" (assignment_expression "ppppppiVar27 = (int ******)param_1[0x1d]" identifier = (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }" if (parenthesized_expression "((int ******)param_1[0x1d] == (int ******)0x0)" ( (binary_expression "(int ******)param_1[0x1d] == (int ******)0x0" (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppiVar27 = param_1;\n          }" { (expression_statement "ppppppiVar27 = param_1;" (assignment_expression "ppppppiVar27 = param_1" identifier = identifier) ;) })) (if_statement "if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }" if (parenthesized_expression "((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))" ( (binary_expression "(ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))))" (parenthesized_expression "(ppppppiVar27[0x40] == (int *****)0x0)" ( (binary_expression "ppppppiVar27[0x40] == (int *****)0x0" (subscript_expression "ppppppiVar27[0x40]" identifier [ number_literal ]) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "(((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))))" ( (parenthesized_expression "((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))" ( (binary_expression "(pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))" (parenthesized_expression "(pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b'))" ( (comma_expression "pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (assignment_expression "pppppiVar28 = (int *****)*ppppppiVar27[0x40]" identifier = (cast_expression "(int *****)*ppppppiVar27[0x40]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*ppppppiVar27[0x40]" * (subscript_expression "ppppppiVar27[0x40]" identifier [ number_literal ])))) , (binary_expression "pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (binary_expression "pppppiVar28 != ppppppiVar32[7]" identifier != (subscript_expression "ppppppiVar32[7]" identifier [ number_literal ])) || (parenthesized_expression "(*(char *)((int)ppppppiVar32 + 0x19) != '\b')" ( (binary_expression "*(char *)((int)ppppppiVar32 + 0x19) != '\b'" (pointer_expression "*(char *)((int)ppppppiVar32 + 0x19)" * (cast_expression "(char *)((int)ppppppiVar32 + 0x19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar32 + 0x19)" ( (binary_expression "(int)ppppppiVar32 + 0x19" (cast_expression "(int)ppppppiVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\b'" ' escape_sequence ')) )))) )) && (parenthesized_expression "((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))" ( (parenthesized_expression "(pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))" ( (binary_expression "pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')" (binary_expression "pppppiVar28 != ppppppiVar32[8]" identifier != (subscript_expression "ppppppiVar32[8]" identifier [ number_literal ])) || (parenthesized_expression "(*(char *)((int)ppppppiVar32 + 0x1a) != '\b')" ( (binary_expression "*(char *)((int)ppppppiVar32 + 0x1a) != '\b'" (pointer_expression "*(char *)((int)ppppppiVar32 + 0x1a)" * (cast_expression "(char *)((int)ppppppiVar32 + 0x1a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar32 + 0x1a)" ( (binary_expression "(int)ppppppiVar32 + 0x1a" (cast_expression "(int)ppppppiVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\b'" ' escape_sequence ')) ))) )) ))) )) ))) )) (compound_statement "{\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }" { (expression_statement "uStack_71 = 1;" (assignment_expression "uStack_71 = 1" identifier = number_literal) ;) (expression_statement "local_7c = local_40;" (assignment_expression "local_7c = local_40" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_38;" (assignment_expression "ppppppiVar26 = (int ******)local_38" identifier = (cast_expression "(int ******)local_38" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar32;" (assignment_expression "in_stack_ffffff80 = ppppppiVar32" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" ( (binary_expression "PTR_LAB_00190bc4 + 0x45fc" identifier + number_literal) )))) )) (argument_list "(param_1,iVar7,ppppppiVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) (expression_statement "uStack_6d = bVar19;" (assignment_expression "uStack_6d = bVar19" identifier = identifier) ;) })) })) (if_statement "if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;" if (parenthesized_expression "((int ******)local_34 == (int ******)0x0)" ( (binary_expression "(int ******)local_34 == (int ******)0x0" (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;)) (expression_statement "(*(code *)(puVar5 + -0x2368))(ppppppiVar29);" (call_expression "(*(code *)(puVar5 + -0x2368))(ppppppiVar29)" (parenthesized_expression "(*(code *)(puVar5 + -0x2368))" ( (pointer_expression "*(code *)(puVar5 + -0x2368)" * (cast_expression "(code *)(puVar5 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2368)" ( (binary_expression "puVar5 + -0x2368" identifier + number_literal) )))) )) (argument_list "(ppppppiVar29)" ( identifier ))) ;) (expression_statement "ppppppiVar32 = (int ******)ppppppiVar32[1];" (assignment_expression "ppppppiVar32 = (int ******)ppppppiVar32[1]" identifier = (cast_expression "(int ******)ppppppiVar32[1]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(ppppppiVar32 != (int ******)0x0)" ( (binary_expression "ppppppiVar32 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" identifier = (cast_expression "(int ******)param_2[0x12]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;" statement_identifier : (expression_statement "ppppppiVar27 = (int ******)0x0;" (assignment_expression "ppppppiVar27 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppiVar23 = (int ******)*param_2;" (assignment_expression "ppppppiVar23 = (int ******)*param_2" identifier = (cast_expression "(int ******)*param_2" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "ppppppiVar12 = ppppppiVar26 + 0xe;" (assignment_expression "ppppppiVar12 = ppppppiVar26 + 0xe" identifier = (binary_expression "ppppppiVar26 + 0xe" identifier + number_literal)) ;) (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))()" identifier = (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))" ( (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x16c)" * (cast_expression "(code *)(PTR_LAB_00190b40 + 0x16c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0x16c)" ( (binary_expression "PTR_LAB_00190b40 + 0x16c" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar5 = PTR_LAB_00190ba8;" (assignment_expression "puVar5 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "ppppppiVar8 = *(int *******)(iVar7 + 8);" (assignment_expression "ppppppiVar8 = *(int *******)(iVar7 + 8)" identifier = (pointer_expression "*(int *******)(iVar7 + 8)" * (cast_expression "(int *******)(iVar7 + 8)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) (if_statement "if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" if (parenthesized_expression "(ppppppiVar8 != (int ******)0x0)" ( (binary_expression "ppppppiVar8 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" { (expression_statement "pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" ( (binary_expression "PTR_LAB_00190bc4 + -0x729c" identifier + number_literal) )))) ;) (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x4194)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x4194)" ( (binary_expression "PTR_LAB_00190bc4 + -0x4194" identifier + number_literal) )))) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) ;) (labeled_statement "LAB_00109dd8:\n      local_34 = (int *****)0x0;" statement_identifier : (expression_statement "local_34 = (int *****)0x0;" (assignment_expression "local_34 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "local_30 = (int *****)0x0;" (assignment_expression "local_30 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }" if (parenthesized_expression "((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0))" ( (binary_expression "(param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)" (parenthesized_expression "(param_5 == (int ******)0x0)" ( (binary_expression "param_5 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)" ( (comma_expression "ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar12 = param_2" identifier = identifier) , (comma_expression "ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar23 = ppppppiVar8" identifier = identifier) , (comma_expression "ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar27 = param_5" identifier = identifier) , (comma_expression "ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar26 = param_6" identifier = identifier) , (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))()" identifier = (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))" ( (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x25dc)" * (cast_expression "(code *)(PTR_LAB_00190b40 + 0x25dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0x25dc)" ( (binary_expression "PTR_LAB_00190b40 + 0x25dc" identifier + number_literal) )))) )) (argument_list "()" ( )))) , (binary_expression "iVar7 != 0" identifier != number_literal)))))) ))) )) (compound_statement "{\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }" { (if_statement "if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }" if (parenthesized_expression "((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0'))))" ( (binary_expression "(*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))" (parenthesized_expression "(*(char *)(ppppppiVar8 + 6) == '\0')" ( (binary_expression "*(char *)(ppppppiVar8 + 6) == '\0'" (pointer_expression "*(char *)(ppppppiVar8 + 6)" * (cast_expression "(char *)(ppppppiVar8 + 6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar8 + 6)" ( (binary_expression "ppppppiVar8 + 6" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))" ( (parenthesized_expression "((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0'))" ( (binary_expression "(-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')" (parenthesized_expression "(-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0))" ( (binary_expression "-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)" (binary_expression "-1 < (int)ppppppiVar29[9] << 0xc" number_literal < (binary_expression "(int)ppppppiVar29[9] << 0xc" (cast_expression "(int)ppppppiVar29[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar29[9]" identifier [ number_literal ])) << number_literal)) && (parenthesized_expression "(param_1[0x1d] == (int *****)0x0)" ( (binary_expression "param_1[0x1d] == (int *****)0x0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) && (parenthesized_expression "(*(char *)(param_1 + 5) == '\0')" ( (binary_expression "*(char *)(param_1 + 5) == '\0'" (pointer_expression "*(char *)(param_1 + 5)" * (cast_expression "(char *)(param_1 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }" { (expression_statement "ppppppiVar8 = (int ******)ppppppiVar8[3];" (assignment_expression "ppppppiVar8 = (int ******)ppppppiVar8[3]" identifier = (cast_expression "(int ******)ppppppiVar8[3]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar8[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0010a250;" goto statement_identifier ;) })) (expression_statement "in_stack_ffffff80 = &local_30;" (assignment_expression "in_stack_ffffff80 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "ppppppiVar26 = &local_34;" (assignment_expression "ppppppiVar26 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar23 = param_2;" (assignment_expression "ppppppiVar23 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar27 = ppppppiVar8;" (assignment_expression "ppppppiVar27 = ppppppiVar8" identifier = identifier) ;) (expression_statement "iVar7 = (*pcVar11)();" (assignment_expression "iVar7 = (*pcVar11)()" identifier = (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" { (if_statement "if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;" if (parenthesized_expression "((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0'))" ( (binary_expression "(cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)((int)ppppppiVar29 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)ppppppiVar29 + 0x51) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar29 + 0x51)" * (cast_expression "(char *)((int)ppppppiVar29 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar29 + 0x51)" ( (binary_expression "(int)ppppppiVar29 + 0x51" (cast_expression "(int)ppppppiVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0010a24c;" goto statement_identifier ;)) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;) })) (expression_statement "ppppppiVar26 = (int ******)0x0;" (assignment_expression "ppppppiVar26 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar27 = (int ******)0x0;" (assignment_expression "ppppppiVar27 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "iVar7 = (*pcVar9)(param_1,0);" (assignment_expression "iVar7 = (*pcVar9)(param_1,0)" identifier = (call_expression "(*pcVar9)(param_1,0)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(param_1,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }" { (expression_statement "pppppiVar28 = *ppppppiVar8;" (assignment_expression "pppppiVar28 = *ppppppiVar8" identifier = (pointer_expression "*ppppppiVar8" * identifier)) ;) (expression_statement "*(int ******)(iVar7 + 0x18) = pppppiVar28;" (assignment_expression "*(int ******)(iVar7 + 0x18) = pppppiVar28" (pointer_expression "*(int ******)(iVar7 + 0x18)" * (cast_expression "(int ******)(iVar7 + 0x18)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *****)(iVar7 + 0x10) = *pppppiVar28;" (assignment_expression "*(int *****)(iVar7 + 0x10) = *pppppiVar28" (pointer_expression "*(int *****)(iVar7 + 0x10)" * (cast_expression "(int *****)(iVar7 + 0x10)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = (pointer_expression "*pppppiVar28" * identifier)) ;) (expression_statement "pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);" (assignment_expression "pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1)" (subscript_expression "pppppiVar28[8]" identifier [ number_literal ]) = (cast_expression "(int ****)((int)pppppiVar28[8] + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppiVar28[8] + 1)" ( (binary_expression "(int)pppppiVar28[8] + 1" (cast_expression "(int)pppppiVar28[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[8]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "pppppiVar28 = param_1[10];" (assignment_expression "pppppiVar28 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "param_1[10] = (int *****)((int)pppppiVar28 + 1);" (assignment_expression "param_1[10] = (int *****)((int)pppppiVar28 + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int *****)((int)pppppiVar28 + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar28 + 1)" ( (binary_expression "(int)pppppiVar28 + 1" (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ******)(iVar7 + 0x30) = pppppiVar28;" (assignment_expression "*(int ******)(iVar7 + 0x30) = pppppiVar28" (pointer_expression "*(int ******)(iVar7 + 0x30)" * (cast_expression "(int ******)(iVar7 + 0x30)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }" if (parenthesized_expression "(param_4 != (int ******)0x0)" ( (binary_expression "param_4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }" { (expression_statement "uStack_71 = 0xff;" (assignment_expression "uStack_71 = 0xff" identifier = number_literal) ;) (expression_statement "local_7c = local_30;" (assignment_expression "local_7c = local_30" identifier = identifier) ;) (expression_statement "ppppppiVar27 = param_2;" (assignment_expression "ppppppiVar27 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_34;" (assignment_expression "ppppppiVar26 = (int ******)local_34" identifier = (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar8;" (assignment_expression "in_stack_ffffff80 = ppppppiVar8" identifier = identifier) ;) (expression_statement "FUN_000f5dd4(param_1,iVar7);" (call_expression "FUN_000f5dd4(param_1,iVar7)" identifier (argument_list "(param_1,iVar7)" ( identifier , identifier ))) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) })) (if_statement "if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }" if (parenthesized_expression "(param_3 != (int ******)0x0)" ( (binary_expression "param_3 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }" { (expression_statement "bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);" (assignment_expression "bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" identifier = (pointer_expression "*(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" * (cast_expression "(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" ( (binary_expression "(int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19" (binary_expression "(int)ppppppiVar8 + (param_5 != (int ******)0x0)" (cast_expression "(int)ppppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(param_5 != (int ******)0x0)" ( (binary_expression "param_5 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) + number_literal) ))))) ;) (expression_statement "uStack_71 = 1;" (assignment_expression "uStack_71 = 1" identifier = number_literal) ;) (expression_statement "local_7c = local_30;" (assignment_expression "local_7c = local_30" identifier = identifier) ;) (expression_statement "ppppppiVar27 = param_2;" (assignment_expression "ppppppiVar27 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_34;" (assignment_expression "ppppppiVar26 = (int ******)local_34" identifier = (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar8;" (assignment_expression "in_stack_ffffff80 = ppppppiVar8" identifier = identifier) ;) (expression_statement "FUN_000f5dd4(param_1,iVar7);" (call_expression "FUN_000f5dd4(param_1,iVar7)" identifier (argument_list "(param_1,iVar7)" ( identifier , identifier ))) ;) (expression_statement "local_78 = param_3;" (assignment_expression "local_78 = param_3" identifier = identifier) ;) (if_statement "if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }" if (parenthesized_expression "((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8))" ( (binary_expression "(*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)" (parenthesized_expression "(*(char *)(ppppppiVar8 + 6) == '\0')" ( (binary_expression "*(char *)(ppppppiVar8 + 6) == '\0'" (pointer_expression "*(char *)(ppppppiVar8 + 6)" * (cast_expression "(char *)(ppppppiVar8 + 6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar8 + 6)" ( (binary_expression "ppppppiVar8 + 6" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((bVar3 & 0xfd) != 8)" ( (binary_expression "(bVar3 & 0xfd) != 8" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }" { (expression_statement "ppppppiVar12 = (int ******)param_1[0x1d];" (assignment_expression "ppppppiVar12 = (int ******)param_1[0x1d]" identifier = (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }" if (parenthesized_expression "((int ******)param_1[0x1d] == (int ******)0x0)" ( (binary_expression "(int ******)param_1[0x1d] == (int ******)0x0" (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                ppppppiVar12 = param_1;\n              }" { (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) })) (expression_statement "*(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)ppppppiVar12 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)ppppppiVar12 + 0x15)" * (cast_expression "(undefined1 *)((int)ppppppiVar12 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar12 + 0x15)" ( (binary_expression "(int)ppppppiVar12 + 0x15" (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) })) (expression_statement "*(undefined4 *)(iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" identifier = identifier) ;) (expression_statement "(*pcVar10)(ppppppiVar29,iVar7);" (call_expression "(*pcVar10)(ppppppiVar29,iVar7)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(ppppppiVar29,iVar7)" ( identifier , identifier ))) ;) })) (expression_statement "ppppppiVar23 = (int ******)local_30;" (assignment_expression "ppppppiVar23 = (int ******)local_30" identifier = (cast_expression "(int ******)local_30" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }" if (parenthesized_expression "((int ******)local_30 != (int ******)0x0)" ( (binary_expression "(int ******)local_30 != (int ******)0x0" (cast_expression "(int ******)local_30" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }" { (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" identifier = identifier) ;) (expression_statement "(*(code *)(puVar5 + -0x2368))();" (call_expression "(*(code *)(puVar5 + -0x2368))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2368))" ( (pointer_expression "*(code *)(puVar5 + -0x2368)" * (cast_expression "(code *)(puVar5 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2368)" ( (binary_expression "puVar5 + -0x2368" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) })) })) (labeled_statement "LAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];" statement_identifier : (expression_statement "ppppppiVar8 = (int ******)ppppppiVar8[3];" (assignment_expression "ppppppiVar8 = (int ******)ppppppiVar8[3]" identifier = (cast_expression "(int ******)ppppppiVar8[3]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar8[3]" identifier [ number_literal ]))) ;)) (labeled_statement "LAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;" statement_identifier : (if_statement "if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;" if (parenthesized_expression "(ppppppiVar8 == (int ******)0x0)" ( (binary_expression "ppppppiVar8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;))) (goto_statement "goto LAB_00109dd8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar33) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar33)" ( (binary_expression "local_2c == *(int *)puVar33" identifier == (pointer_expression "*(int *)puVar33" * (cast_expression "(int *)puVar33" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar33 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);" (assignment_expression "pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1)" identifier = (cast_expression "(int *****)((int)ppppppiVar12[0xe] + -1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppiVar12[0xe] + -1)" ( (binary_expression "(int)ppppppiVar12[0xe] + -1" (cast_expression "(int)ppppppiVar12[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar12[0xe]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "ppppppiVar12[0xe] = pppppiVar30;" (assignment_expression "ppppppiVar12[0xe] = pppppiVar30" (subscript_expression "ppppppiVar12[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar21 = 0x1c;" (assignment_expression "uVar21 = 0x1c" identifier = number_literal) ;) (expression_statement "pppppiVar28 = ppppppiVar12[2];" (assignment_expression "pppppiVar28 = ppppppiVar12[2]" identifier = (subscript_expression "ppppppiVar12[2]" identifier [ number_literal ])) ;) (if_statement "if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }" if (parenthesized_expression "(((uint)ppppppiVar23[9] & 0x20) == 0)" ( (binary_expression "((uint)ppppppiVar23[9] & 0x20) == 0" (parenthesized_expression "((uint)ppppppiVar23[9] & 0x20)" ( (binary_expression "(uint)ppppppiVar23[9] & 0x20" (cast_expression "(uint)ppppppiVar23[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppiVar23[9]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar21 = 0x1f;\n  }" { (expression_statement "uVar21 = 0x1f;" (assignment_expression "uVar21 = 0x1f" identifier = number_literal) ;) })) (if_statement "if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }" if (parenthesized_expression "(cStack_69 == '\0')" ( (binary_expression "cStack_69 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }" { (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (binary_expression "*(int *)(puVar33 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)local_78._2_2_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_78._2_2_" identifier . field_identifier)) ))) ;) })) (expression_statement "pppppiStack_d0 = (int *****)&_gp_1;" (assignment_expression "pppppiStack_d0 = (int *****)&_gp_1" identifier = (cast_expression "(int *****)&_gp_1" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&_gp_1" & identifier))) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x867f4) + -0x3768)" ( (binary_expression "*(int *)(puVar33 + 0x867f4) + -0x3768" (pointer_expression "*(int *)(puVar33 + 0x867f4)" * (cast_expression "(int *)(puVar33 + 0x867f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x867f4)" ( (binary_expression "puVar33 + 0x867f4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppppppiVar12,ppppppiVar23,0,0)" ( (pointer_expression "*ppppppiVar12" * identifier) , identifier , number_literal , number_literal )))) ;) (if_statement "if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" if (parenthesized_expression "((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0))" ( (binary_expression "(iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)" ( (comma_expression "iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86818)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86818)" * (cast_expression "(int *)(puVar33 + 0x86818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86818)" ( (binary_expression "puVar33 + 0x86818" identifier + number_literal) ))))) , (binary_expression "ppppppiVar27 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) (compound_statement "{\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }" { (expression_statement "pppppiVar31 = ppppppiVar23[3];" (assignment_expression "pppppiVar31 = ppppppiVar23[3]" identifier = (subscript_expression "ppppppiVar23[3]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" else (compound_statement "{\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" { (expression_statement "uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);" (assignment_expression "uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" identifier = (call_expression "FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" identifier (argument_list "(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }" if (parenthesized_expression "(((uint)(*ppppppiVar12)[9] & 0x4000) != 0)" ( (binary_expression "((uint)(*ppppppiVar12)[9] & 0x4000) != 0" (parenthesized_expression "((uint)(*ppppppiVar12)[9] & 0x4000)" ( (binary_expression "(uint)(*ppppppiVar12)[9] & 0x4000" (subscript_expression "(uint)(*ppppppiVar12)[9]" (call_expression "(uint)(*ppppppiVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppppppiVar12)" ( (pointer_expression "*ppppppiVar12" * identifier) ))) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }" { (expression_statement "uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);" (assignment_expression "uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86814) + -0x6eb0)" ( (binary_expression "*(int *)(puVar33 + 0x86814) + -0x6eb0" (pointer_expression "*(int *)(puVar33 + 0x86814)" * (cast_expression "(int *)(puVar33 + 0x86814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86814)" ( (binary_expression "puVar33 + 0x86814" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppiVar12,ppppppiVar23)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = uVar15 | uVar16;" (assignment_expression "uVar15 = uVar15 | uVar16" identifier = (binary_expression "uVar15 | uVar16" identifier | identifier)) ;) })) (expression_statement "pppppiVar31 = ppppppiVar12[0xb];" (assignment_expression "pppppiVar31 = ppppppiVar12[0xb]" identifier = (subscript_expression "ppppppiVar12[0xb]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(puVar33 + 0x86810);" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86810)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = (int)pppppiVar31 + 1;" (assignment_expression "iVar20 = (int)pppppiVar31 + 1" identifier = (binary_expression "(int)pppppiVar31 + 1" (cast_expression "(int)pppppiVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);" (assignment_expression "ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" (subscript_expression "ppppppiVar12[0xb]" identifier [ number_literal ]) = (cast_expression "(int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" ( (binary_expression "*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31" (binary_expression "*(short *)((int)ppppppiVar23 + 0x2a) + 1" (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" * (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" ( (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + (cast_expression "(int)pppppiVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);" (call_expression "(*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0)" (parenthesized_expression "(*(code *)(iVar7 + 0x10fc))" ( (pointer_expression "*(code *)(iVar7 + 0x10fc)" * (cast_expression "(code *)(iVar7 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10fc)" ( (binary_expression "iVar7 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,0x4e,local_7c,iVar20,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);" (assignment_expression "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" * (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" ( (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (if_statement "if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }" { (expression_statement "iVar22 = *(int *)(puVar33 + 0x86814);" (assignment_expression "iVar22 = *(int *)(puVar33 + 0x86814)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86814)" * (cast_expression "(int *)(puVar33 + 0x86814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86814)" ( (binary_expression "puVar33 + 0x86814" identifier + number_literal) ))))) ;) (do_statement "do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);" do (compound_statement "{\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      }" { (if_statement "if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }" if (parenthesized_expression "((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))))" ( (binary_expression "(uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" ( (parenthesized_expression "((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))" ( (binary_expression "(int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)" (binary_expression "(int)uVar16 < 0x20" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "((1 << (uVar16 & 0x1f) & uVar15) != 0)" ( (binary_expression "(1 << (uVar16 & 0x1f) & uVar15) != 0" (parenthesized_expression "(1 << (uVar16 & 0x1f) & uVar15)" ( (binary_expression "1 << (uVar16 & 0x1f) & uVar15" (binary_expression "1 << (uVar16 & 0x1f)" number_literal << (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) ))) & identifier) )) != number_literal) ))) )) ))) )) (compound_statement "{\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }" { (expression_statement "(*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);" (call_expression "(*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2)" (parenthesized_expression "(*(code *)(iVar22 + 0x4eb8))" ( (pointer_expression "*(code *)(iVar22 + 0x4eb8)" * (cast_expression "(code *)(iVar22 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x4eb8)" ( (binary_expression "iVar22 + 0x4eb8" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2)" ( identifier , identifier , identifier , identifier , (binary_expression "(int)pppppiVar31 + uVar16 + 2" (binary_expression "(int)pppppiVar31 + uVar16" (cast_expression "(int)pppppiVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) ;) (expression_statement "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);" (assignment_expression "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" * (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" ( (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) })) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar16 < iVar7)" ( (binary_expression "(int)uVar16 < iVar7" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (expression_statement "ppppiVar17 = pppppiVar28[0x1b];" (assignment_expression "ppppiVar17 = pppppiVar28[0x1b]" identifier = (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(puVar33 + 0x86818);" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86818)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86818)" * (cast_expression "(int *)(puVar33 + 0x86818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86818)" ( (binary_expression "puVar33 + 0x86818" identifier + number_literal) ))))) ;) (expression_statement "FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);" (call_expression "FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" identifier (argument_list "(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }" if (parenthesized_expression "((int)ppppiVar17 < (int)pppppiVar28[0x1b])" ( (binary_expression "(int)ppppiVar17 < (int)pppppiVar28[0x1b]" (cast_expression "(int)ppppiVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }" { (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (binary_expression "*(int *)(puVar33 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)local_78._2_2_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_78._2_2_" identifier . field_identifier)) ))) ;) (expression_statement "pppppiStack_d0 = (int *****)0xffffffff;" (assignment_expression "pppppiStack_d0 = (int *****)0xffffffff" identifier = (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (expression_statement "FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);" (call_expression "FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0)" identifier (argument_list "(ppppppiVar12,ppppppiVar23,iVar20,0,0,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "pppppiVar31 = ppppppiVar23[3];" (assignment_expression "pppppiVar31 = ppppppiVar23[3]" identifier = (subscript_expression "ppppppiVar23[3]" identifier [ number_literal ])) ;) }))) (if_statement "if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }" if (parenthesized_expression "(pppppiVar31 == (int *****)0x0)" ( (binary_expression "pppppiVar31 == (int *****)0x0" identifier == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }" { (expression_statement "FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);" (call_expression "FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0)" identifier (argument_list "(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar22 = *(int *)(puVar33 + 0x86810);" (assignment_expression "iVar22 = *(int *)(puVar33 + 0x86810)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);" (call_expression "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0)" (parenthesized_expression "(*(code *)(iVar22 + 0x10fc))" ( (pointer_expression "*(code *)(iVar22 + 0x10fc)" * (cast_expression "(code *)(iVar22 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10fc)" ( (binary_expression "iVar22 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" if (parenthesized_expression "(*(char *)((int)ppppppiVar12 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)ppppppiVar12 + 0x12) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar12 + 0x12)" * (cast_expression "(char *)((int)ppppppiVar12 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar12 + 0x12)" ( (binary_expression "(int)ppppppiVar12 + 0x12" (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }" { (labeled_statement "LAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x867f4) + -0x24d4)" ( (binary_expression "*(int *)(puVar33 + 0x867f4) + -0x24d4" (pointer_expression "*(int *)(puVar33 + 0x867f4)" * (cast_expression "(int *)(puVar33 + 0x867f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x867f4)" ( (binary_expression "puVar33 + 0x867f4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,ppppppiVar23,0xfffffffa)" ( identifier , identifier , number_literal ))) ;)) }) (else_clause "else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" else (if_statement "if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" if (parenthesized_expression "((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))" ( (binary_expression "(*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0)" (parenthesized_expression "(*ppppppiVar23 != (int *****)0x0)" ( (binary_expression "*ppppppiVar23 != (int *****)0x0" (pointer_expression "*ppppppiVar23" * identifier) != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0)" ( (comma_expression "iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x867f8) + 0x20c8)" ( (binary_expression "*(int *)(puVar33 + 0x867f8) + 0x20c8" (pointer_expression "*(int *)(puVar33 + 0x867f8)" * (cast_expression "(int *)(puVar33 + 0x867f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x867f8)" ( (binary_expression "puVar33 + 0x867f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" ( (pointer_expression "*ppppppiVar23" * identifier) , (binary_expression "*(int *)(puVar33 + 0x865ac) + -0x3128" (pointer_expression "*(int *)(puVar33 + 0x865ac)" * (cast_expression "(int *)(puVar33 + 0x865ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x865ac)" ( (binary_expression "puVar33 + 0x865ac" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0010a8b0;" goto statement_identifier ;)))) (if_statement "if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" if (parenthesized_expression "(cStack_69 == '\0')" ( (binary_expression "cStack_69 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }" { (if_statement "if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;" if (parenthesized_expression "(-1 < (int)pppppiStack_d0)" ( (binary_expression "-1 < (int)pppppiStack_d0" number_literal < (cast_expression "(int)pppppiStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010a7a4;" goto statement_identifier ;)) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" else (compound_statement "{\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" { (if_statement "if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }" if (parenthesized_expression "(0 < (int)pppppiVar28[0x1b])" ( (binary_expression "0 < (int)pppppiVar28[0x1b]" number_literal < (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }" { (expression_statement "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;" (assignment_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4" (pointer_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16" (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = number_literal) ;) })) (if_statement "if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }" if (parenthesized_expression "(-1 < (int)pppppiStack_d0)" ( (binary_expression "-1 < (int)pppppiStack_d0" number_literal < (cast_expression "(int)pppppiStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }" { (labeled_statement "LAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" statement_identifier : (if_statement "if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" if (parenthesized_expression "((int ******)pppppiStack_d0 != ppppppiVar26)" ( (binary_expression "(int ******)pppppiStack_d0 != ppppppiVar26" (cast_expression "(int ******)pppppiStack_d0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != identifier) )) (compound_statement "{\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" { (expression_statement "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);" (call_expression "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0)" (parenthesized_expression "(*(code *)(iVar22 + 0x10fc))" ( (pointer_expression "*(code *)(iVar22 + 0x10fc)" * (cast_expression "(code *)(iVar22 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10fc)" ( (binary_expression "iVar22 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,0x7b,pppppiStack_d0,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) })) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (if_statement "if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }" if (parenthesized_expression "(cStack_69 != '\x02')" ( (binary_expression "cStack_69 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        uVar24 = 0;\n      }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) })) }))) (if_statement "if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }" if (parenthesized_expression "(0 < (int)pppppiVar28[0x1b])" ( (binary_expression "0 < (int)pppppiVar28[0x1b]" number_literal < (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }" { (expression_statement "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;" (assignment_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24" (pointer_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16" (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "ppppiVar17 = (*ppppppiVar12)[9];" (assignment_expression "ppppiVar17 = (*ppppppiVar12)[9]" identifier = (subscript_expression "(*ppppppiVar12)[9]" (parenthesized_expression "(*ppppppiVar12)" ( (pointer_expression "*ppppppiVar12" * identifier) )) [ number_literal ])) ;) (goto_statement "goto joined_r0x0010a810;" goto statement_identifier ;) })) })) (expression_statement "ppppiVar17 = (*ppppppiVar12)[9];" (assignment_expression "ppppiVar17 = (*ppppppiVar12)[9]" identifier = (subscript_expression "(*ppppppiVar12)[9]" (parenthesized_expression "(*ppppppiVar12)" ( (pointer_expression "*ppppppiVar12" * identifier) )) [ number_literal ])) ;) (labeled_statement "joined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" statement_identifier : (if_statement "if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" if (parenthesized_expression "(((uint)ppppiVar17 & 0x4000) != 0)" ( (binary_expression "((uint)ppppiVar17 & 0x4000) != 0" (parenthesized_expression "((uint)ppppiVar17 & 0x4000)" ( (binary_expression "(uint)ppppiVar17 & 0x4000" (cast_expression "(uint)ppppiVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" { (expression_statement "FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);" (call_expression "FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0)" identifier (argument_list "(ppppppiVar12,ppppppiVar23,0,iVar20,0,0)" ( identifier , identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (expression_statement "(*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);" (call_expression "(*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" (parenthesized_expression "(*(code *)(iVar7 + -0x2cec))" ( (pointer_expression "*(code *)(iVar7 + -0x2cec)" * (cast_expression "(code *)(iVar7 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2cec)" ( (binary_expression "iVar7 + -0x2cec" identifier + number_literal) )))) )) (argument_list "(ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) comment comment (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0xd78)" ( (binary_expression "*(int *)(puVar33 + 0x86810) + 0xd78" (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,pppppiVar30)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void sqlite3FkCheck(Parse *pParse,Table *pTab,int regOld,int regNew,int *aChange,int bChngRowid)\n\n{\n  u8 uVar1;\n  u8 uVar2;\n  byte bVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  Schema *pSVar7;\n  code *pcVar8;\n  code *pcVar9;\n  code *pcVar10;\n  Schema *pSVar11;\n  Schema *pSVar12;\n  code *pcVar13;\n  SrcList *pSrc;\n  uint uVar14;\n  u32 uVar15;\n  uint uVar16;\n  void *pvVar17;\n  _func_int_sqlite3_vfs_ptr_char_ptr_int_char_ptr *p_Var18;\n  int iVar19;\n  _ht *p_Var20;\n  undefined4 uVar21;\n  int iVar22;\n  sqlite3 *pParse_00;\n  Trigger *pTVar23;\n  Table *pTVar24;\n  Parse *pPVar25;\n  _ht **pp_Var26;\n  undefined2 uVar27;\n  Schema *pSVar28;\n  _ht *p_Var29;\n  Schema *iDataCur;\n  Schema *pTrigger;\n  CollSeq *pCVar30;\n  sqlite3 *psVar31;\n  u32 ignoreJump;\n  Schema *pSVar32;\n  int iVar33;\n  undefined *puVar34;\n  Schema *pSStack_d0;\n  Schema *in_stack_ffffff80;\n  code *in_stack_ffffff84;\n  int in_stack_ffffff88;\n  short sVar35;\n  uint in_stack_ffffff8c;\n  uint uStack_70;\n  char cStack_69;\n  Vdbe *pVStack_5c;\n  code *pcStack_40;\n  Index *pIdx;\n  int *aiFree;\n  int iCol;\n  uint uStack_2c;\n  \n  puVar34 = PTR___stack_chk_guard_00190e24;\n  sVar35 = (short)in_stack_ffffff88;\n  psVar31 = pParse->db;\n  uStack_2c = *(uint *)PTR___stack_chk_guard_00190e24;\n  pParse_00 = (sqlite3 *)pParse;\n  pSVar11 = (Schema *)pTab;\n  pTrigger = (Schema *)regOld;\n  iDataCur = (Schema *)regNew;\n  if ((psVar31->flags & 0x4000) != 0) {\n    iDataCur = pTab->pSchema;\n    if (iDataCur == (Schema *)0x0) {\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }\n    else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }\n    puVar4 = PTR_LAB_00190ba8;\n    uVar1 = pParse->disableTriggers;\n    pSVar32 = (Schema *)pTab->pFKey;\n    pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);\n    if (pSVar32 != (Schema *)0x0) {\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }\nLAB_00109d88:\n    pTrigger = (Schema *)0x0;\n    pSVar11 = (Schema *)pTab->zName;\n    pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;\n    iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar4 = PTR_LAB_00190ba8;\n    sVar35 = (short)in_stack_ffffff88;\n    pSVar7 = *(Schema **)(iVar6 + 8);\n    if (pSVar7 != (Schema *)0x0) {\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (uStack_2c == *(uint *)puVar34) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  ignoreJump = pParse_00->nSchemaLock - 1;\n  pParse_00->nSchemaLock = ignoreJump;\n  uVar14 = uStack_70 & 0xff;\n  uVar21 = 0x1c;\n  pCVar30 = pParse_00->pDfltColl;\n  if (((uint)(pSVar11->idxHash).ht & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n  }\n  pSStack_d0 = (Schema *)&_gp;\n  iVar6 = (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0);\n  if ((iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)) {\n    uVar16 = (pSVar11->tblHash).count;\n    iVar19 = 0;\n  }\n  else {\n    uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);\n    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }\n    iVar33 = (int)pParse_00->lastRowid;\n    iVar6 = *(int *)(puVar34 + 0x86810);\n    iVar19 = iVar33 + 1;\n    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;\n    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);\n    uVar16 = 0;\n    iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n    if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }\n    pvVar17 = pCVar30[5].pUser;\n    iVar6 = *(int *)(puVar34 + 0x86818);\n    sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);\n    if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }\n    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);\n    uVar16 = (pSVar11->tblHash).count;\n  }\n  if (uVar16 == 0) {\n    sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0);\n    iVar33 = *(int *)(puVar34 + 0x86810);\n    (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);\n    if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }\n    else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }\n    else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }\n    if (0 < (int)pCVar30[5].pUser) {\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }\n  }\n  p_Var18 = pParse_00->pVfs->xFullPathname;\njoined_r0x0010a810:\n  if (((uint)p_Var18 & 0x4000) != 0) {\n    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);\n  }\n  (*(code *)(iVar6 + -0x2cec))(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump);\n                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))(pCVar30,ignoreJump);\n  return;\n}\n\n" (function_definition "void sqlite3FkCheck(Parse *pParse,Table *pTab,int regOld,int regNew,int *aChange,int bChngRowid)\n\n{\n  u8 uVar1;\n  u8 uVar2;\n  byte bVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  Schema *pSVar7;\n  code *pcVar8;\n  code *pcVar9;\n  code *pcVar10;\n  Schema *pSVar11;\n  Schema *pSVar12;\n  code *pcVar13;\n  SrcList *pSrc;\n  uint uVar14;\n  u32 uVar15;\n  uint uVar16;\n  void *pvVar17;\n  _func_int_sqlite3_vfs_ptr_char_ptr_int_char_ptr *p_Var18;\n  int iVar19;\n  _ht *p_Var20;\n  undefined4 uVar21;\n  int iVar22;\n  sqlite3 *pParse_00;\n  Trigger *pTVar23;\n  Table *pTVar24;\n  Parse *pPVar25;\n  _ht **pp_Var26;\n  undefined2 uVar27;\n  Schema *pSVar28;\n  _ht *p_Var29;\n  Schema *iDataCur;\n  Schema *pTrigger;\n  CollSeq *pCVar30;\n  sqlite3 *psVar31;\n  u32 ignoreJump;\n  Schema *pSVar32;\n  int iVar33;\n  undefined *puVar34;\n  Schema *pSStack_d0;\n  Schema *in_stack_ffffff80;\n  code *in_stack_ffffff84;\n  int in_stack_ffffff88;\n  short sVar35;\n  uint in_stack_ffffff8c;\n  uint uStack_70;\n  char cStack_69;\n  Vdbe *pVStack_5c;\n  code *pcStack_40;\n  Index *pIdx;\n  int *aiFree;\n  int iCol;\n  uint uStack_2c;\n  \n  puVar34 = PTR___stack_chk_guard_00190e24;\n  sVar35 = (short)in_stack_ffffff88;\n  psVar31 = pParse->db;\n  uStack_2c = *(uint *)PTR___stack_chk_guard_00190e24;\n  pParse_00 = (sqlite3 *)pParse;\n  pSVar11 = (Schema *)pTab;\n  pTrigger = (Schema *)regOld;\n  iDataCur = (Schema *)regNew;\n  if ((psVar31->flags & 0x4000) != 0) {\n    iDataCur = pTab->pSchema;\n    if (iDataCur == (Schema *)0x0) {\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }\n    else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }\n    puVar4 = PTR_LAB_00190ba8;\n    uVar1 = pParse->disableTriggers;\n    pSVar32 = (Schema *)pTab->pFKey;\n    pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);\n    if (pSVar32 != (Schema *)0x0) {\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }\nLAB_00109d88:\n    pTrigger = (Schema *)0x0;\n    pSVar11 = (Schema *)pTab->zName;\n    pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;\n    iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar4 = PTR_LAB_00190ba8;\n    sVar35 = (short)in_stack_ffffff88;\n    pSVar7 = *(Schema **)(iVar6 + 8);\n    if (pSVar7 != (Schema *)0x0) {\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (uStack_2c == *(uint *)puVar34) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  ignoreJump = pParse_00->nSchemaLock - 1;\n  pParse_00->nSchemaLock = ignoreJump;\n  uVar14 = uStack_70 & 0xff;\n  uVar21 = 0x1c;\n  pCVar30 = pParse_00->pDfltColl;\n  if (((uint)(pSVar11->idxHash).ht & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n  }\n  pSStack_d0 = (Schema *)&_gp;\n  iVar6 = (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0);\n  if ((iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)) {\n    uVar16 = (pSVar11->tblHash).count;\n    iVar19 = 0;\n  }\n  else {\n    uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);\n    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }\n    iVar33 = (int)pParse_00->lastRowid;\n    iVar6 = *(int *)(puVar34 + 0x86810);\n    iVar19 = iVar33 + 1;\n    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;\n    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);\n    uVar16 = 0;\n    iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n    if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }\n    pvVar17 = pCVar30[5].pUser;\n    iVar6 = *(int *)(puVar34 + 0x86818);\n    sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);\n    if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }\n    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);\n    uVar16 = (pSVar11->tblHash).count;\n  }\n  if (uVar16 == 0) {\n    sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0);\n    iVar33 = *(int *)(puVar34 + 0x86810);\n    (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);\n    if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }\n    else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }\n    else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }\n    if (0 < (int)pCVar30[5].pUser) {\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }\n  }\n  p_Var18 = pParse_00->pVfs->xFullPathname;\njoined_r0x0010a810:\n  if (((uint)p_Var18 & 0x4000) != 0) {\n    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);\n  }\n  (*(code *)(iVar6 + -0x2cec))(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump);\n                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))(pCVar30,ignoreJump);\n  return;\n}" primitive_type (function_declarator "sqlite3FkCheck(Parse *pParse,Table *pTab,int regOld,int regNew,int *aChange,int bChngRowid)" identifier (parameter_list "(Parse *pParse,Table *pTab,int regOld,int regNew,int *aChange,int bChngRowid)" ( (parameter_declaration "Parse *pParse" type_identifier (pointer_declarator "*pParse" * identifier)) , (parameter_declaration "Table *pTab" type_identifier (pointer_declarator "*pTab" * identifier)) , (parameter_declaration "int regOld" primitive_type identifier) , (parameter_declaration "int regNew" primitive_type identifier) , (parameter_declaration "int *aChange" primitive_type (pointer_declarator "*aChange" * identifier)) , (parameter_declaration "int bChngRowid" primitive_type identifier) ))) (compound_statement "{\n  u8 uVar1;\n  u8 uVar2;\n  byte bVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  int iVar6;\n  Schema *pSVar7;\n  code *pcVar8;\n  code *pcVar9;\n  code *pcVar10;\n  Schema *pSVar11;\n  Schema *pSVar12;\n  code *pcVar13;\n  SrcList *pSrc;\n  uint uVar14;\n  u32 uVar15;\n  uint uVar16;\n  void *pvVar17;\n  _func_int_sqlite3_vfs_ptr_char_ptr_int_char_ptr *p_Var18;\n  int iVar19;\n  _ht *p_Var20;\n  undefined4 uVar21;\n  int iVar22;\n  sqlite3 *pParse_00;\n  Trigger *pTVar23;\n  Table *pTVar24;\n  Parse *pPVar25;\n  _ht **pp_Var26;\n  undefined2 uVar27;\n  Schema *pSVar28;\n  _ht *p_Var29;\n  Schema *iDataCur;\n  Schema *pTrigger;\n  CollSeq *pCVar30;\n  sqlite3 *psVar31;\n  u32 ignoreJump;\n  Schema *pSVar32;\n  int iVar33;\n  undefined *puVar34;\n  Schema *pSStack_d0;\n  Schema *in_stack_ffffff80;\n  code *in_stack_ffffff84;\n  int in_stack_ffffff88;\n  short sVar35;\n  uint in_stack_ffffff8c;\n  uint uStack_70;\n  char cStack_69;\n  Vdbe *pVStack_5c;\n  code *pcStack_40;\n  Index *pIdx;\n  int *aiFree;\n  int iCol;\n  uint uStack_2c;\n  \n  puVar34 = PTR___stack_chk_guard_00190e24;\n  sVar35 = (short)in_stack_ffffff88;\n  psVar31 = pParse->db;\n  uStack_2c = *(uint *)PTR___stack_chk_guard_00190e24;\n  pParse_00 = (sqlite3 *)pParse;\n  pSVar11 = (Schema *)pTab;\n  pTrigger = (Schema *)regOld;\n  iDataCur = (Schema *)regNew;\n  if ((psVar31->flags & 0x4000) != 0) {\n    iDataCur = pTab->pSchema;\n    if (iDataCur == (Schema *)0x0) {\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }\n    else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }\n    puVar4 = PTR_LAB_00190ba8;\n    uVar1 = pParse->disableTriggers;\n    pSVar32 = (Schema *)pTab->pFKey;\n    pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);\n    if (pSVar32 != (Schema *)0x0) {\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }\nLAB_00109d88:\n    pTrigger = (Schema *)0x0;\n    pSVar11 = (Schema *)pTab->zName;\n    pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;\n    iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar4 = PTR_LAB_00190ba8;\n    sVar35 = (short)in_stack_ffffff88;\n    pSVar7 = *(Schema **)(iVar6 + 8);\n    if (pSVar7 != (Schema *)0x0) {\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (uStack_2c == *(uint *)puVar34) {\n    return;\n  }\n  puVar34 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  ignoreJump = pParse_00->nSchemaLock - 1;\n  pParse_00->nSchemaLock = ignoreJump;\n  uVar14 = uStack_70 & 0xff;\n  uVar21 = 0x1c;\n  pCVar30 = pParse_00->pDfltColl;\n  if (((uint)(pSVar11->idxHash).ht & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n  }\n  pSStack_d0 = (Schema *)&_gp;\n  iVar6 = (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0);\n  if ((iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)) {\n    uVar16 = (pSVar11->tblHash).count;\n    iVar19 = 0;\n  }\n  else {\n    uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);\n    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }\n    iVar33 = (int)pParse_00->lastRowid;\n    iVar6 = *(int *)(puVar34 + 0x86810);\n    iVar19 = iVar33 + 1;\n    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;\n    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);\n    uVar16 = 0;\n    iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n    if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }\n    pvVar17 = pCVar30[5].pUser;\n    iVar6 = *(int *)(puVar34 + 0x86818);\n    sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);\n    if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }\n    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);\n    uVar16 = (pSVar11->tblHash).count;\n  }\n  if (uVar16 == 0) {\n    sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0);\n    iVar33 = *(int *)(puVar34 + 0x86810);\n    (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);\n    if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }\n    else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }\n    else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }\n    if (0 < (int)pCVar30[5].pUser) {\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }\n  }\n  p_Var18 = pParse_00->pVfs->xFullPathname;\njoined_r0x0010a810:\n  if (((uint)p_Var18 & 0x4000) != 0) {\n    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);\n  }\n  (*(code *)(iVar6 + -0x2cec))(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump);\n                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n  (*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))(pCVar30,ignoreJump);\n  return;\n}" { (declaration "u8 uVar1;" type_identifier identifier ;) (declaration "u8 uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "Schema *pSVar7;" type_identifier (pointer_declarator "*pSVar7" * identifier) ;) (declaration "code *pcVar8;" type_identifier (pointer_declarator "*pcVar8" * identifier) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "Schema *pSVar11;" type_identifier (pointer_declarator "*pSVar11" * identifier) ;) (declaration "Schema *pSVar12;" type_identifier (pointer_declarator "*pSVar12" * identifier) ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "SrcList *pSrc;" type_identifier (pointer_declarator "*pSrc" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "u32 uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "void *pvVar17;" primitive_type (pointer_declarator "*pvVar17" * identifier) ;) (declaration "_func_int_sqlite3_vfs_ptr_char_ptr_int_char_ptr *p_Var18;" type_identifier (pointer_declarator "*p_Var18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "_ht *p_Var20;" type_identifier (pointer_declarator "*p_Var20" * identifier) ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "sqlite3 *pParse_00;" type_identifier (pointer_declarator "*pParse_00" * identifier) ;) (declaration "Trigger *pTVar23;" type_identifier (pointer_declarator "*pTVar23" * identifier) ;) (declaration "Table *pTVar24;" type_identifier (pointer_declarator "*pTVar24" * identifier) ;) (declaration "Parse *pPVar25;" type_identifier (pointer_declarator "*pPVar25" * identifier) ;) (declaration "_ht **pp_Var26;" type_identifier (pointer_declarator "**pp_Var26" * (pointer_declarator "*pp_Var26" * identifier)) ;) (declaration "undefined2 uVar27;" type_identifier identifier ;) (declaration "Schema *pSVar28;" type_identifier (pointer_declarator "*pSVar28" * identifier) ;) (declaration "_ht *p_Var29;" type_identifier (pointer_declarator "*p_Var29" * identifier) ;) (declaration "Schema *iDataCur;" type_identifier (pointer_declarator "*iDataCur" * identifier) ;) (declaration "Schema *pTrigger;" type_identifier (pointer_declarator "*pTrigger" * identifier) ;) (declaration "CollSeq *pCVar30;" type_identifier (pointer_declarator "*pCVar30" * identifier) ;) (declaration "sqlite3 *psVar31;" type_identifier (pointer_declarator "*psVar31" * identifier) ;) (declaration "u32 ignoreJump;" type_identifier identifier ;) (declaration "Schema *pSVar32;" type_identifier (pointer_declarator "*pSVar32" * identifier) ;) (declaration "int iVar33;" primitive_type identifier ;) (declaration "undefined *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "Schema *pSStack_d0;" type_identifier (pointer_declarator "*pSStack_d0" * identifier) ;) (declaration "Schema *in_stack_ffffff80;" type_identifier (pointer_declarator "*in_stack_ffffff80" * identifier) ;) (declaration "code *in_stack_ffffff84;" type_identifier (pointer_declarator "*in_stack_ffffff84" * identifier) ;) (declaration "int in_stack_ffffff88;" primitive_type identifier ;) (declaration "short sVar35;" (sized_type_specifier "short" short) identifier ;) (declaration "uint in_stack_ffffff8c;" type_identifier identifier ;) (declaration "uint uStack_70;" type_identifier identifier ;) (declaration "char cStack_69;" primitive_type identifier ;) (declaration "Vdbe *pVStack_5c;" type_identifier (pointer_declarator "*pVStack_5c" * identifier) ;) (declaration "code *pcStack_40;" type_identifier (pointer_declarator "*pcStack_40" * identifier) ;) (declaration "Index *pIdx;" type_identifier (pointer_declarator "*pIdx" * identifier) ;) (declaration "int *aiFree;" primitive_type (pointer_declarator "*aiFree" * identifier) ;) (declaration "int iCol;" primitive_type identifier ;) (declaration "uint uStack_2c;" type_identifier identifier ;) (expression_statement "puVar34 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar34 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "sVar35 = (short)in_stack_ffffff88;" (assignment_expression "sVar35 = (short)in_stack_ffffff88" identifier = (cast_expression "(short)in_stack_ffffff88" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "psVar31 = pParse->db;" (assignment_expression "psVar31 = pParse->db" identifier = (field_expression "pParse->db" identifier -> field_identifier)) ;) (expression_statement "uStack_2c = *(uint *)PTR___stack_chk_guard_00190e24;" (assignment_expression "uStack_2c = *(uint *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(uint *)PTR___stack_chk_guard_00190e24" * (cast_expression "(uint *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pParse_00 = (sqlite3 *)pParse;" (assignment_expression "pParse_00 = (sqlite3 *)pParse" identifier = (cast_expression "(sqlite3 *)pParse" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar11 = (Schema *)pTab;" (assignment_expression "pSVar11 = (Schema *)pTab" identifier = (cast_expression "(Schema *)pTab" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTrigger = (Schema *)regOld;" (assignment_expression "pTrigger = (Schema *)regOld" identifier = (cast_expression "(Schema *)regOld" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iDataCur = (Schema *)regNew;" (assignment_expression "iDataCur = (Schema *)regNew" identifier = (cast_expression "(Schema *)regNew" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((psVar31->flags & 0x4000) != 0) {\n    iDataCur = pTab->pSchema;\n    if (iDataCur == (Schema *)0x0) {\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }\n    else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }\n    puVar4 = PTR_LAB_00190ba8;\n    uVar1 = pParse->disableTriggers;\n    pSVar32 = (Schema *)pTab->pFKey;\n    pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);\n    if (pSVar32 != (Schema *)0x0) {\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }\nLAB_00109d88:\n    pTrigger = (Schema *)0x0;\n    pSVar11 = (Schema *)pTab->zName;\n    pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;\n    iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar4 = PTR_LAB_00190ba8;\n    sVar35 = (short)in_stack_ffffff88;\n    pSVar7 = *(Schema **)(iVar6 + 8);\n    if (pSVar7 != (Schema *)0x0) {\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" if (parenthesized_expression "((psVar31->flags & 0x4000) != 0)" ( (binary_expression "(psVar31->flags & 0x4000) != 0" (parenthesized_expression "(psVar31->flags & 0x4000)" ( (binary_expression "psVar31->flags & 0x4000" (field_expression "psVar31->flags" identifier -> field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    iDataCur = pTab->pSchema;\n    if (iDataCur == (Schema *)0x0) {\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }\n    else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }\n    puVar4 = PTR_LAB_00190ba8;\n    uVar1 = pParse->disableTriggers;\n    pSVar32 = (Schema *)pTab->pFKey;\n    pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);\n    if (pSVar32 != (Schema *)0x0) {\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }\nLAB_00109d88:\n    pTrigger = (Schema *)0x0;\n    pSVar11 = (Schema *)pTab->zName;\n    pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;\n    iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar4 = PTR_LAB_00190ba8;\n    sVar35 = (short)in_stack_ffffff88;\n    pSVar7 = *(Schema **)(iVar6 + 8);\n    if (pSVar7 != (Schema *)0x0) {\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" { (expression_statement "iDataCur = pTab->pSchema;" (assignment_expression "iDataCur = pTab->pSchema" identifier = (field_expression "pTab->pSchema" identifier -> field_identifier)) ;) (if_statement "if (iDataCur == (Schema *)0x0) {\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }\n    else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }" if (parenthesized_expression "(iDataCur == (Schema *)0x0)" ( (binary_expression "iDataCur == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar19 = -16000000;\n      iVar6 = -1000000;\n    }" { (expression_statement "iVar19 = -16000000;" (assignment_expression "iVar19 = -16000000" identifier = number_literal) ;) (expression_statement "iVar6 = -1000000;" (assignment_expression "iVar6 = -1000000" identifier = number_literal) ;) }) (else_clause "else {\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }" else (compound_statement "{\n      iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);\n      iVar19 = iVar6 << 4;\n    }" { (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur);" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(psVar31,iDataCur)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(psVar31,iDataCur)" ( identifier , identifier )))) ;) (expression_statement "iVar19 = iVar6 << 4;" (assignment_expression "iVar19 = iVar6 << 4" identifier = (binary_expression "iVar6 << 4" identifier << number_literal)) ;) }))) (expression_statement "puVar4 = PTR_LAB_00190ba8;" (assignment_expression "puVar4 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "uVar1 = pParse->disableTriggers;" (assignment_expression "uVar1 = pParse->disableTriggers" identifier = (field_expression "pParse->disableTriggers" identifier -> field_identifier)) ;) (expression_statement "pSVar32 = (Schema *)pTab->pFKey;" (assignment_expression "pSVar32 = (Schema *)pTab->pFKey" identifier = (cast_expression "(Schema *)pTab->pFKey" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTab->pFKey" identifier -> field_identifier))) ;) (expression_statement "pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19);" (assignment_expression "pSVar7 = *(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19)" identifier = (pointer_expression "*(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19)" * (cast_expression "(Schema **)((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19)" ( (type_descriptor "Schema **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19)" ( (binary_expression "(int)&((Schema *)psVar31->aDb)->schema_cookie + iVar19" (cast_expression "(int)&((Schema *)psVar31->aDb)->schema_cookie" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&((Schema *)psVar31->aDb)->schema_cookie" & (field_expression "((Schema *)psVar31->aDb)->schema_cookie" (parenthesized_expression "((Schema *)psVar31->aDb)" ( (cast_expression "(Schema *)psVar31->aDb" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar31->aDb" identifier -> field_identifier)) )) -> field_identifier))) + identifier) ))))) ;) (if_statement "if (pSVar32 != (Schema *)0x0) {\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }" if (parenthesized_expression "(pSVar32 != (Schema *)0x0)" ( (binary_expression "pSVar32 != (Schema *)0x0" identifier != (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);\n      iDataCur = pTab->pSchema;\n    }" { (expression_statement "pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x729c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" ( (binary_expression "PTR_LAB_00190bc4 + -0x729c" identifier + number_literal) )))) ;) (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc0 + 0xb3c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xb3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xb3c)" ( (binary_expression "PTR_LAB_00190bc0 + 0xb3c" identifier + number_literal) )))) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bcc + -0x6e1c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bcc + -0x6e1c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bcc + -0x6e1c)" ( (binary_expression "PTR_LAB_00190bcc + -0x6e1c" identifier + number_literal) )))) ;) (do_statement "do {\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      } while (pSVar32 != (Schema *)0x0);" do (compound_statement "{\n        while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }\n        uVar2 = pParse->disableTriggers;\nLAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }\n        pSVar28 = (Schema *)&aiFree;\n        if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)&pIdx;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = pSVar12;\n        pTrigger = pSVar32;\n        iVar19 = (*pcVar8)();\n        in_stack_ffffff80 = pSVar28;\n        if (iVar19 != 0) goto LAB_00109d58;\n        pcStack_40 = (code *)aiFree;\n        if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }\n        iVar19 = 0;\n        uVar14 = 0;\n        pcVar13 = pcStack_40;\n        if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }\n        in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;\n        iDataCur = (Schema *)0x0;\n        (*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);\n        pParse->nTab = pParse->nTab + 1;\n        if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }\n        if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }\n        if (aiFree == (int *)0x0) goto LAB_00109d78;\n        (*(code *)(puVar4 + -0x2368))(psVar31);\n        pSVar32 = (Schema *)pSVar32->iGeneration;\n      }" { (while_statement "while( true ) {\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          aiFree = (int *)0x0;\n          pIdx = (Index *)0x0;\n          pTrigger = (Schema *)(pSVar32->tblHash).htsize;\n          if (aChange == (int *)0x0) break;\n          pSVar11 = pTrigger;\n          if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }\n          p_Var20 = (pSVar32->tblHash).ht;\n          if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;\n          if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }\n        }" { (expression_statement "aiFree = (int *)0x0;" (assignment_expression "aiFree = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pIdx = (Index *)0x0;" (assignment_expression "pIdx = (Index *)0x0" identifier = (cast_expression "(Index *)0x0" ( (type_descriptor "Index *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTrigger = (Schema *)(pSVar32->tblHash).htsize;" (assignment_expression "pTrigger = (Schema *)(pSVar32->tblHash).htsize" identifier = (cast_expression "(Schema *)(pSVar32->tblHash).htsize" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar32->tblHash).htsize" (parenthesized_expression "(pSVar32->tblHash)" ( (field_expression "pSVar32->tblHash" identifier -> field_identifier) )) . field_identifier))) ;) (if_statement "if (aChange == (int *)0x0) break;" if (parenthesized_expression "(aChange == (int *)0x0)" ( (binary_expression "aChange == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pSVar11 = pTrigger;" (assignment_expression "pSVar11 = pTrigger" identifier = identifier) ;) (if_statement "if (pTab->zName == (char *)0x0) {\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }\n          else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }" if (parenthesized_expression "(pTab->zName == (char *)0x0)" ( (binary_expression "pTab->zName == (char *)0x0" (field_expression "pTab->zName" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\njoined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;\n          }" { (labeled_statement "joined_r0x00109ec0:\n            if (pSVar11 == (Schema *)0x0) break;" statement_identifier : (if_statement "if (pSVar11 == (Schema *)0x0) break;" if (parenthesized_expression "(pSVar11 == (Schema *)0x0)" ( (binary_expression "pSVar11 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;))) }) (else_clause "else if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }" else (if_statement "if (pTrigger != (Schema *)0x0) {\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }" if (parenthesized_expression "(pTrigger != (Schema *)0x0)" ( (binary_expression "pTrigger != (Schema *)0x0" identifier != (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);\n            goto joined_r0x00109ec0;\n          }" { (expression_statement "pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger);" (assignment_expression "pSVar11 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger)" identifier = (cast_expression "(Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger)" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(pTab->zName,pTrigger)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x20c8)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x20c8)" ( (binary_expression "PTR_LAB_00190ba8 + 0x20c8" identifier + number_literal) )))) )) (argument_list "(pTab->zName,pTrigger)" ( (field_expression "pTab->zName" identifier -> field_identifier) , identifier ))))) ;) (goto_statement "goto joined_r0x00109ec0;" goto statement_identifier ;) })))) (expression_statement "p_Var20 = (pSVar32->tblHash).ht;" (assignment_expression "p_Var20 = (pSVar32->tblHash).ht" identifier = (field_expression "(pSVar32->tblHash).ht" (parenthesized_expression "(pSVar32->tblHash)" ( (field_expression "pSVar32->tblHash" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (0 < (int)p_Var20) {\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }" if (parenthesized_expression "(0 < (int)p_Var20)" ( (binary_expression "0 < (int)p_Var20" number_literal < (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n            pSVar11 = (Schema *)(pSVar32->idxHash).ht;\n            pp_Var26 = (_ht **)&(pSVar32->trigHash).count;\n            if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }\n            break;\n          }" { (expression_statement "pSVar11 = (Schema *)(pSVar32->idxHash).ht;" (assignment_expression "pSVar11 = (Schema *)(pSVar32->idxHash).ht" identifier = (cast_expression "(Schema *)(pSVar32->idxHash).ht" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar32->idxHash).ht" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pp_Var26 = (_ht **)&(pSVar32->trigHash).count;" (assignment_expression "pp_Var26 = (_ht **)&(pSVar32->trigHash).count" identifier = (cast_expression "(_ht **)&(pSVar32->trigHash).count" ( (type_descriptor "_ht **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pSVar32->trigHash).count" & (field_expression "(pSVar32->trigHash).count" (parenthesized_expression "(pSVar32->trigHash)" ( (field_expression "pSVar32->trigHash" identifier -> field_identifier) )) . field_identifier)))) ;) (if_statement "if (aChange[(int)pSVar11] < 0) {\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }" if (parenthesized_expression "(aChange[(int)pSVar11] < 0)" ( (binary_expression "aChange[(int)pSVar11] < 0" (subscript_expression "aChange[(int)pSVar11]" identifier [ (cast_expression "(int)pSVar11" ( (type_descriptor "int" primitive_type) ) identifier) ]) < number_literal) )) (compound_statement "{\n              iDataCur = (Schema *)(int)pTab->iPKey;\n              p_Var29 = (_ht *)0x0;\n              do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);\n            }" { (expression_statement "iDataCur = (Schema *)(int)pTab->iPKey;" (assignment_expression "iDataCur = (Schema *)(int)pTab->iPKey" identifier = (cast_expression "(Schema *)(int)pTab->iPKey" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)pTab->iPKey" ( (type_descriptor "int" primitive_type) ) (field_expression "pTab->iPKey" identifier -> field_identifier)))) ;) (expression_statement "p_Var29 = (_ht *)0x0;" (assignment_expression "p_Var29 = (_ht *)0x0" identifier = (cast_expression "(_ht *)0x0" ( (type_descriptor "_ht *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              } while (aChange[(int)pSVar11] < 0);" do (compound_statement "{\n                if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }\n                p_Var29 = (_ht *)((int)&p_Var29->count + 1);\n                if (p_Var29 == p_Var20) goto LAB_00109d78;\n                pSVar11 = (Schema *)*pp_Var26;\n                pp_Var26 = pp_Var26 + 2;\n              }" { (if_statement "if ((iDataCur == pSVar11) && (bChngRowid != 0)) {\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }" if (parenthesized_expression "((iDataCur == pSVar11) && (bChngRowid != 0))" ( (binary_expression "(iDataCur == pSVar11) && (bChngRowid != 0)" (parenthesized_expression "(iDataCur == pSVar11)" ( (binary_expression "iDataCur == pSVar11" identifier == identifier) )) && (parenthesized_expression "(bChngRowid != 0)" ( (binary_expression "bChngRowid != 0" identifier != number_literal) ))) )) (compound_statement "{\n                  uVar2 = pParse->disableTriggers;\n                  goto LAB_00109d04;\n                }" { (expression_statement "uVar2 = pParse->disableTriggers;" (assignment_expression "uVar2 = pParse->disableTriggers" identifier = (field_expression "pParse->disableTriggers" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00109d04;" goto statement_identifier ;) })) (expression_statement "p_Var29 = (_ht *)((int)&p_Var29->count + 1);" (assignment_expression "p_Var29 = (_ht *)((int)&p_Var29->count + 1)" identifier = (cast_expression "(_ht *)((int)&p_Var29->count + 1)" ( (type_descriptor "_ht *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var29->count + 1)" ( (binary_expression "(int)&p_Var29->count + 1" (cast_expression "(int)&p_Var29->count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var29->count" & (field_expression "p_Var29->count" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (p_Var29 == p_Var20) goto LAB_00109d78;" if (parenthesized_expression "(p_Var29 == p_Var20)" ( (binary_expression "p_Var29 == p_Var20" identifier == identifier) )) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;)) (expression_statement "pSVar11 = (Schema *)*pp_Var26;" (assignment_expression "pSVar11 = (Schema *)*pp_Var26" identifier = (cast_expression "(Schema *)*pp_Var26" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*pp_Var26" * identifier))) ;) (expression_statement "pp_Var26 = pp_Var26 + 2;" (assignment_expression "pp_Var26 = pp_Var26 + 2" identifier = (binary_expression "pp_Var26 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(aChange[(int)pSVar11] < 0)" ( (binary_expression "aChange[(int)pSVar11] < 0" (subscript_expression "aChange[(int)pSVar11]" identifier [ (cast_expression "(int)pSVar11" ( (type_descriptor "int" primitive_type) ) identifier) ]) < number_literal) )) ;) })) (break_statement "break;" break ;) })) (labeled_statement "LAB_00109d78:\n          pSVar32 = (Schema *)pSVar32->iGeneration;" statement_identifier : (expression_statement "pSVar32 = (Schema *)pSVar32->iGeneration;" (assignment_expression "pSVar32 = (Schema *)pSVar32->iGeneration" identifier = (cast_expression "(Schema *)pSVar32->iGeneration" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar32->iGeneration" identifier -> field_identifier))) ;)) (if_statement "if (pSVar32 == (Schema *)0x0) {\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }" if (parenthesized_expression "(pSVar32 == (Schema *)0x0)" ( (binary_expression "pSVar32 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iDataCur = pTab->pSchema;\n            goto LAB_00109d88;\n          }" { (expression_statement "iDataCur = pTab->pSchema;" (assignment_expression "iDataCur = pTab->pSchema" identifier = (field_expression "pTab->pSchema" identifier -> field_identifier)) ;) (goto_statement "goto LAB_00109d88;" goto statement_identifier ;) })) })) (expression_statement "uVar2 = pParse->disableTriggers;" (assignment_expression "uVar2 = pParse->disableTriggers" identifier = (field_expression "pParse->disableTriggers" identifier -> field_identifier)) ;) (labeled_statement "LAB_00109d04:\n        if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }" statement_identifier : (if_statement "if (uVar2 == '\0') {\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }\n        else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }" if (parenthesized_expression "(uVar2 == '\0')" ( (binary_expression "uVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          pSVar11 = (Schema *)0x0;\n          pParse_00 = (sqlite3 *)pParse;\n          iDataCur = pSVar7;\n          pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);\n        }" { (expression_statement "pSVar11 = (Schema *)0x0;" (assignment_expression "pSVar11 = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pParse_00 = (sqlite3 *)pParse;" (assignment_expression "pParse_00 = (sqlite3 *)pParse" identifier = (cast_expression "(sqlite3 *)pParse" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iDataCur = pSVar7;" (assignment_expression "iDataCur = pSVar7" identifier = identifier) ;) (expression_statement "pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7);" (assignment_expression "pSVar12 = (Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7)" identifier = (cast_expression "(Schema *)sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7)" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3LocateTable(pParse,0,(char *)pTrigger,(char *)pSVar7)" identifier (argument_list "(pParse,0,(char *)pTrigger,(char *)pSVar7)" ( identifier , number_literal , (cast_expression "(char *)pTrigger" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(char *)pSVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))))) ;) }) (else_clause "else {\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }" else (compound_statement "{\n          pParse_00 = psVar31;\n          pSVar28 = pSVar7;\n          pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          pSVar11 = pTrigger;\n          pTrigger = pSVar28;\n        }" { (expression_statement "pParse_00 = psVar31;" (assignment_expression "pParse_00 = psVar31" identifier = identifier) ;) (expression_statement "pSVar28 = pSVar7;" (assignment_expression "pSVar28 = pSVar7" identifier = identifier) ;) (expression_statement "pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();" (assignment_expression "pSVar12 = (Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" identifier = (cast_expression "(Schema *)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x218c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x218c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x218c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x218c" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (expression_statement "pSVar11 = pTrigger;" (assignment_expression "pSVar11 = pTrigger" identifier = identifier) ;) (expression_statement "pTrigger = pSVar28;" (assignment_expression "pTrigger = pSVar28" identifier = identifier) ;) })))) (expression_statement "pSVar28 = (Schema *)&aiFree;" (assignment_expression "pSVar28 = (Schema *)&aiFree" identifier = (cast_expression "(Schema *)&aiFree" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aiFree" & identifier))) ;) (if_statement "if (pSVar12 == (Schema *)0x0) {\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" if (parenthesized_expression "(pSVar12 == (Schema *)0x0)" ( (binary_expression "pSVar12 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" { (labeled_statement "LAB_00109d58:\n          sVar35 = (short)in_stack_ffffff88;" statement_identifier : (expression_statement "sVar35 = (short)in_stack_ffffff88;" (assignment_expression "sVar35 = (short)in_stack_ffffff88" identifier = (cast_expression "(short)in_stack_ffffff88" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;)) (if_statement "if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) {\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }" if (parenthesized_expression "((uVar1 != '\0') && (psVar31->mallocFailed == '\0'))" ( (binary_expression "(uVar1 != '\0') && (psVar31->mallocFailed == '\0')" (parenthesized_expression "(uVar1 != '\0')" ( (binary_expression "uVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(psVar31->mallocFailed == '\0')" ( (binary_expression "psVar31->mallocFailed == '\0'" (field_expression "psVar31->mallocFailed" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }\n            goto LAB_00109d78;\n          }" { (if_statement "if (pSVar12 == (Schema *)0x0) {\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }" if (parenthesized_expression "(pSVar12 == (Schema *)0x0)" ( (binary_expression "pSVar12 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pVStack_5c = pParse->pVdbe;\n              if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }\n              puVar5 = PTR_LAB_00190bc0;\n              p_Var20 = (pSVar32->tblHash).ht;\n              iVar19 = pVStack_5c->nOp;\n              if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }\n              pcStack_40 = (code *)(puVar5 + 0x10fc);\n              iDataCur = (Schema *)0xffffffff;\n              in_stack_ffffff80 = (Schema *)0x0;\n              (*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);\n            }" { (expression_statement "pVStack_5c = pParse->pVdbe;" (assignment_expression "pVStack_5c = pParse->pVdbe" identifier = (field_expression "pParse->pVdbe" identifier -> field_identifier)) ;) (if_statement "if (pVStack_5c == (Vdbe *)0x0) {\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }" if (parenthesized_expression "(pVStack_5c == (Vdbe *)0x0)" ( (binary_expression "pVStack_5c == (Vdbe *)0x0" identifier == (cast_expression "(Vdbe *)0x0" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);\n              }" { (expression_statement "pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse);" (assignment_expression "pVStack_5c = (Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse)" identifier = (cast_expression "(Vdbe *)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse)" ( (type_descriptor "Vdbe *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(pParse)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" ( (binary_expression "PTR_LAB_00190bc0 + 0x1274" identifier + number_literal) )))) )) (argument_list "(pParse)" ( identifier ))))) ;) })) (expression_statement "puVar5 = PTR_LAB_00190bc0;" (assignment_expression "puVar5 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "p_Var20 = (pSVar32->tblHash).ht;" (assignment_expression "p_Var20 = (pSVar32->tblHash).ht" identifier = (field_expression "(pSVar32->tblHash).ht" (parenthesized_expression "(pSVar32->tblHash)" ( (field_expression "pSVar32->tblHash" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar19 = pVStack_5c->nOp;" (assignment_expression "iVar19 = pVStack_5c->nOp" identifier = (field_expression "pVStack_5c->nOp" identifier -> field_identifier)) ;) (if_statement "if (0 < (int)p_Var20) {\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }" if (parenthesized_expression "(0 < (int)p_Var20)" ( (binary_expression "0 < (int)p_Var20" number_literal < (cast_expression "(int)p_Var20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                pp_Var26 = &(pSVar32->idxHash).ht;\n                iVar33 = 0;\n                pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);\n              }" { (expression_statement "pp_Var26 = &(pSVar32->idxHash).ht;" (assignment_expression "pp_Var26 = &(pSVar32->idxHash).ht" identifier = (pointer_expression "&(pSVar32->idxHash).ht" & (field_expression "(pSVar32->idxHash).ht" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "iVar33 = 0;" (assignment_expression "iVar33 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar13 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                } while (iVar33 < (int)(pSVar32->tblHash).ht);" do (compound_statement "{\n                  p_Var29 = *pp_Var26;\n                  iVar33 = iVar33 + 1;\n                  pp_Var26 = pp_Var26 + 2;\n                  (*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);\n                }" { (expression_statement "p_Var29 = *pp_Var26;" (assignment_expression "p_Var29 = *pp_Var26" identifier = (pointer_expression "*pp_Var26" * identifier)) ;) (expression_statement "iVar33 = iVar33 + 1;" (assignment_expression "iVar33 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (expression_statement "pp_Var26 = pp_Var26 + 2;" (assignment_expression "pp_Var26 = pp_Var26 + 2" identifier = (binary_expression "pp_Var26 + 2" identifier + number_literal)) ;) (expression_statement "(*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0);" (call_expression "(*pcVar13)(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(pVStack_5c,0x32,(int)&p_Var29->count + regOld + 1,\n                             (char *)((int)&p_Var20->count + iVar19 + 1),0)" ( identifier , number_literal , (binary_expression "(int)&p_Var29->count + regOld + 1" (binary_expression "(int)&p_Var29->count + regOld" (cast_expression "(int)&p_Var29->count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var29->count" & (field_expression "p_Var29->count" identifier -> field_identifier))) + identifier) + number_literal) , (cast_expression "(char *)((int)&p_Var20->count + iVar19 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&p_Var20->count + iVar19 + 1)" ( (binary_expression "(int)&p_Var20->count + iVar19 + 1" (binary_expression "(int)&p_Var20->count + iVar19" (cast_expression "(int)&p_Var20->count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&p_Var20->count" & (field_expression "p_Var20->count" identifier -> field_identifier))) + identifier) + number_literal) ))) , number_literal ))) ;) }) while (parenthesized_expression "(iVar33 < (int)(pSVar32->tblHash).ht)" ( (binary_expression "iVar33 < (int)(pSVar32->tblHash).ht" identifier < (cast_expression "(int)(pSVar32->tblHash).ht" ( (type_descriptor "int" primitive_type) ) (field_expression "(pSVar32->tblHash).ht" (parenthesized_expression "(pSVar32->tblHash)" ( (field_expression "pSVar32->tblHash" identifier -> field_identifier) )) . field_identifier))) )) ;) })) (expression_statement "pcStack_40 = (code *)(puVar5 + 0x10fc);" (assignment_expression "pcStack_40 = (code *)(puVar5 + 0x10fc)" identifier = (cast_expression "(code *)(puVar5 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 0x10fc)" ( (binary_expression "puVar5 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "iDataCur = (Schema *)0xffffffff;" (assignment_expression "iDataCur = (Schema *)0xffffffff" identifier = (cast_expression "(Schema *)0xffffffff" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "in_stack_ffffff80 = (Schema *)0x0;" (assignment_expression "in_stack_ffffff80 = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize);" (call_expression "(*pcStack_40)(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize)" (parenthesized_expression "(*pcStack_40)" ( (pointer_expression "*pcStack_40" * identifier) )) (argument_list "(pVStack_5c,0x96,*(undefined1 *)&(pSVar32->idxHash).htsize)" ( identifier , number_literal , (pointer_expression "*(undefined1 *)&(pSVar32->idxHash).htsize" * (cast_expression "(undefined1 *)&(pSVar32->idxHash).htsize" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar32->idxHash).htsize" & (field_expression "(pSVar32->idxHash).htsize" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier)))) ))) ;) })) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;) })) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;) })) (expression_statement "iDataCur = (Schema *)&pIdx;" (assignment_expression "iDataCur = (Schema *)&pIdx" identifier = (cast_expression "(Schema *)&pIdx" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pIdx" & identifier))) ;) (expression_statement "pParse_00 = (sqlite3 *)pParse;" (assignment_expression "pParse_00 = (sqlite3 *)pParse" identifier = (cast_expression "(sqlite3 *)pParse" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar11 = pSVar12;" (assignment_expression "pSVar11 = pSVar12" identifier = identifier) ;) (expression_statement "pTrigger = pSVar32;" (assignment_expression "pTrigger = pSVar32" identifier = identifier) ;) (expression_statement "iVar19 = (*pcVar8)();" (assignment_expression "iVar19 = (*pcVar8)()" identifier = (call_expression "(*pcVar8)()" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "in_stack_ffffff80 = pSVar28;" (assignment_expression "in_stack_ffffff80 = pSVar28" identifier = identifier) ;) (if_statement "if (iVar19 != 0) goto LAB_00109d58;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00109d58;" goto statement_identifier ;)) (expression_statement "pcStack_40 = (code *)aiFree;" (assignment_expression "pcStack_40 = (code *)aiFree" identifier = (cast_expression "(code *)aiFree" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (aiFree == (int *)0x0) {\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }" if (parenthesized_expression "(aiFree == (int *)0x0)" ( (binary_expression "aiFree == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          iCol = (int)(pSVar32->idxHash).ht;\n          pcStack_40 = (code *)&iCol;\n        }" { (expression_statement "iCol = (int)(pSVar32->idxHash).ht;" (assignment_expression "iCol = (int)(pSVar32->idxHash).ht" identifier = (cast_expression "(int)(pSVar32->idxHash).ht" ( (type_descriptor "int" primitive_type) ) (field_expression "(pSVar32->idxHash).ht" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "pcStack_40 = (code *)&iCol;" (assignment_expression "pcStack_40 = (code *)&iCol" identifier = (cast_expression "(code *)&iCol" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iCol" & identifier))) ;) })) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) (expression_statement "uVar14 = 0;" (assignment_expression "uVar14 = 0" identifier = number_literal) ;) (expression_statement "pcVar13 = pcStack_40;" (assignment_expression "pcVar13 = pcStack_40" identifier = identifier) ;) (if_statement "if (0 < (int)(pSVar32->tblHash).ht) {\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }" if (parenthesized_expression "(0 < (int)(pSVar32->tblHash).ht)" ( (binary_expression "0 < (int)(pSVar32->tblHash).ht" number_literal < (cast_expression "(int)(pSVar32->tblHash).ht" ( (type_descriptor "int" primitive_type) ) (field_expression "(pSVar32->tblHash).ht" (parenthesized_expression "(pSVar32->tblHash)" ( (field_expression "pSVar32->tblHash" identifier -> field_identifier) )) . field_identifier))) )) (compound_statement "{\n          do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);\n        }" { (do_statement "do {\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          } while (iVar19 < (int)(pSVar32->tblHash).ht);" do (compound_statement "{\n            if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }\n            if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }\n            iVar19 = iVar19 + 1;\n            pcVar13 = (code *)((int)pcVar13 + 4);\n          }" { (if_statement "if (*(int *)pcVar13 == (int)pTab->iPKey) {\n              *(int *)pcVar13 = -1;\n            }" if (parenthesized_expression "(*(int *)pcVar13 == (int)pTab->iPKey)" ( (binary_expression "*(int *)pcVar13 == (int)pTab->iPKey" (pointer_expression "*(int *)pcVar13" * (cast_expression "(int *)pcVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (cast_expression "(int)pTab->iPKey" ( (type_descriptor "int" primitive_type) ) (field_expression "pTab->iPKey" identifier -> field_identifier))) )) (compound_statement "{\n              *(int *)pcVar13 = -1;\n            }" { (expression_statement "*(int *)pcVar13 = -1;" (assignment_expression "*(int *)pcVar13 = -1" (pointer_expression "*(int *)pcVar13" * (cast_expression "(int *)pcVar13" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) (if_statement "if (psVar31->xAuth != (sqlite3_xauth)0x0) {\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }" if (parenthesized_expression "(psVar31->xAuth != (sqlite3_xauth)0x0)" ( (binary_expression "psVar31->xAuth != (sqlite3_xauth)0x0" (field_expression "psVar31->xAuth" identifier -> field_identifier) != (cast_expression "(sqlite3_xauth)0x0" ( (type_descriptor "sqlite3_xauth" type_identifier) ) number_literal)) )) (compound_statement "{\n              if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }\n              iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);\n              uVar14 = (uint)(iVar33 == 2);\n            }" { (if_statement "if (pIdx == (Index *)0x0) {\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }\n              else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }" if (parenthesized_expression "(pIdx == (Index *)0x0)" ( (binary_expression "pIdx == (Index *)0x0" identifier == (cast_expression "(Index *)0x0" ( (type_descriptor "Index *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                sVar35 = *(short *)&(pSVar12->trigHash).htsize;\n              }" { (expression_statement "sVar35 = *(short *)&(pSVar12->trigHash).htsize;" (assignment_expression "sVar35 = *(short *)&(pSVar12->trigHash).htsize" identifier = (pointer_expression "*(short *)&(pSVar12->trigHash).htsize" * (cast_expression "(short *)&(pSVar12->trigHash).htsize" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar12->trigHash).htsize" & (field_expression "(pSVar12->trigHash).htsize" (parenthesized_expression "(pSVar12->trigHash)" ( (field_expression "pSVar12->trigHash" identifier -> field_identifier) )) . field_identifier))))) ;) }) (else_clause "else {\n                sVar35 = pIdx->aiColumn[iVar19];\n              }" else (compound_statement "{\n                sVar35 = pIdx->aiColumn[iVar19];\n              }" { (expression_statement "sVar35 = pIdx->aiColumn[iVar19];" (assignment_expression "sVar35 = pIdx->aiColumn[iVar19]" identifier = (subscript_expression "pIdx->aiColumn[iVar19]" (field_expression "pIdx->aiColumn" identifier -> field_identifier) [ identifier ])) ;) }))) (expression_statement "iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6);" (assignment_expression "iVar33 = (*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6)" identifier = (call_expression "(*pcVar10)(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(pParse,(char *)pSVar12->schema_cookie,\n                                  ((Column *)pSVar12->iGeneration)[sVar35].zName,iVar6)" ( identifier , (cast_expression "(char *)pSVar12->schema_cookie" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar12->schema_cookie" identifier -> field_identifier)) , (field_expression "((Column *)pSVar12->iGeneration)[sVar35].zName" (subscript_expression "((Column *)pSVar12->iGeneration)[sVar35]" (parenthesized_expression "((Column *)pSVar12->iGeneration)" ( (cast_expression "(Column *)pSVar12->iGeneration" ( (type_descriptor "Column *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar12->iGeneration" identifier -> field_identifier)) )) [ identifier ]) . field_identifier) , identifier )))) ;) (expression_statement "uVar14 = (uint)(iVar33 == 2);" (assignment_expression "uVar14 = (uint)(iVar33 == 2)" identifier = (call_expression "(uint)(iVar33 == 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar33 == 2)" ( (binary_expression "iVar33 == 2" identifier == number_literal) )))) ;) })) (expression_statement "iVar19 = iVar19 + 1;" (assignment_expression "iVar19 = iVar19 + 1" identifier = (binary_expression "iVar19 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = (code *)((int)pcVar13 + 4);" (assignment_expression "pcVar13 = (code *)((int)pcVar13 + 4)" identifier = (cast_expression "(code *)((int)pcVar13 + 4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pcVar13 + 4)" ( (binary_expression "(int)pcVar13 + 4" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(iVar19 < (int)(pSVar32->tblHash).ht)" ( (binary_expression "iVar19 < (int)(pSVar32->tblHash).ht" identifier < (cast_expression "(int)(pSVar32->tblHash).ht" ( (type_descriptor "int" primitive_type) ) (field_expression "(pSVar32->tblHash).ht" (parenthesized_expression "(pSVar32->tblHash)" ( (field_expression "pSVar32->tblHash" identifier -> field_identifier) )) . field_identifier))) )) ;) })) (expression_statement "in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie;" (assignment_expression "in_stack_ffffff80 = (Schema *)pSVar12->schema_cookie" identifier = (cast_expression "(Schema *)pSVar12->schema_cookie" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar12->schema_cookie" identifier -> field_identifier))) ;) (expression_statement "iDataCur = (Schema *)0x0;" (assignment_expression "iDataCur = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count);" (call_expression "(*pcVar9)(pParse,iVar6,(pSVar12->idxHash).count)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(pParse,iVar6,(pSVar12->idxHash).count)" ( identifier , identifier , (field_expression "(pSVar12->idxHash).count" (parenthesized_expression "(pSVar12->idxHash)" ( (field_expression "pSVar12->idxHash" identifier -> field_identifier) )) . field_identifier) ))) ;) (expression_statement "pParse->nTab = pParse->nTab + 1;" (assignment_expression "pParse->nTab = pParse->nTab + 1" (field_expression "pParse->nTab" identifier -> field_identifier) = (binary_expression "pParse->nTab + 1" (field_expression "pParse->nTab" identifier -> field_identifier) + number_literal)) ;) (if_statement "if (regOld != 0) {\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }" if (parenthesized_expression "(regOld != 0)" ( (binary_expression "regOld != 0" identifier != number_literal) )) (compound_statement "{\n          in_stack_ffffff8c = 0xffffffff;\n          iDataCur = (Schema *)pIdx;\n          in_stack_ffffff80 = pSVar32;\n          in_stack_ffffff84 = pcStack_40;\n          in_stack_ffffff88 = regOld;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n          uStack_70 = uVar14;\n        }" { (expression_statement "in_stack_ffffff8c = 0xffffffff;" (assignment_expression "in_stack_ffffff8c = 0xffffffff" identifier = number_literal) ;) (expression_statement "iDataCur = (Schema *)pIdx;" (assignment_expression "iDataCur = (Schema *)pIdx" identifier = (cast_expression "(Schema *)pIdx" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = pSVar32;" (assignment_expression "in_stack_ffffff80 = pSVar32" identifier = identifier) ;) (expression_statement "in_stack_ffffff84 = pcStack_40;" (assignment_expression "in_stack_ffffff84 = pcStack_40" identifier = identifier) ;) (expression_statement "in_stack_ffffff88 = regOld;" (assignment_expression "in_stack_ffffff88 = regOld" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" ( (binary_expression "PTR_LAB_00190bc4 + 0x45fc" identifier + number_literal) )))) )) (argument_list "(pParse,iVar6,pSVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "uStack_70 = uVar14;" (assignment_expression "uStack_70 = uVar14" identifier = identifier) ;) })) (if_statement "if (regNew != 0) {\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }" if (parenthesized_expression "(regNew != 0)" ( (binary_expression "regNew != 0" identifier != number_literal) )) (compound_statement "{\n          pPVar25 = pParse->pToplevel;\n          if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }\n          if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }\n        }" { (expression_statement "pPVar25 = pParse->pToplevel;" (assignment_expression "pPVar25 = pParse->pToplevel" identifier = (field_expression "pParse->pToplevel" identifier -> field_identifier)) ;) (if_statement "if (pParse->pToplevel == (Parse *)0x0) {\n            pPVar25 = pParse;\n          }" if (parenthesized_expression "(pParse->pToplevel == (Parse *)0x0)" ( (binary_expression "pParse->pToplevel == (Parse *)0x0" (field_expression "pParse->pToplevel" identifier -> field_identifier) == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pPVar25 = pParse;\n          }" { (expression_statement "pPVar25 = pParse;" (assignment_expression "pPVar25 = pParse" identifier = identifier) ;) })) (if_statement "if ((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))) {\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }" if (parenthesized_expression "((pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b'))))))" ( (binary_expression "(pPVar25->pTriggerPrg == (TriggerPrg *)0x0) ||\n             (((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))" (parenthesized_expression "(pPVar25->pTriggerPrg == (TriggerPrg *)0x0)" ( (binary_expression "pPVar25->pTriggerPrg == (TriggerPrg *)0x0" (field_expression "pPVar25->pTriggerPrg" identifier -> field_identifier) == (cast_expression "(TriggerPrg *)0x0" ( (type_descriptor "TriggerPrg *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))))" ( (parenthesized_expression "((pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b'))))" ( (binary_expression "(pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')) &&\n              ((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))" (parenthesized_expression "(pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b'))" ( (comma_expression "pTVar23 = pPVar25->pTriggerPrg->pTrigger,\n               pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')" (assignment_expression "pTVar23 = pPVar25->pTriggerPrg->pTrigger" identifier = (field_expression "pPVar25->pTriggerPrg->pTrigger" (field_expression "pPVar25->pTriggerPrg" identifier -> field_identifier) -> field_identifier)) , (binary_expression "pTVar23 != (Trigger *)(pSVar32->idxHash).count ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')" (binary_expression "pTVar23 != (Trigger *)(pSVar32->idxHash).count" identifier != (cast_expression "(Trigger *)(pSVar32->idxHash).count" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar32->idxHash).count" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) || (parenthesized_expression "(*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b')" ( (binary_expression "*(char *)((int)&(pSVar32->idxHash).htsize + 1) != '\b'" (pointer_expression "*(char *)((int)&(pSVar32->idxHash).htsize + 1)" * (cast_expression "(char *)((int)&(pSVar32->idxHash).htsize + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pSVar32->idxHash).htsize + 1)" ( (binary_expression "(int)&(pSVar32->idxHash).htsize + 1" (cast_expression "(int)&(pSVar32->idxHash).htsize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pSVar32->idxHash).htsize" & (field_expression "(pSVar32->idxHash).htsize" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != (char_literal "'\b'" ' escape_sequence ')) )))) )) && (parenthesized_expression "((pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')))" ( (parenthesized_expression "(pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b'))" ( (binary_expression "pTVar23 != (Trigger *)(pSVar32->idxHash).first ||\n               (*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')" (binary_expression "pTVar23 != (Trigger *)(pSVar32->idxHash).first" identifier != (cast_expression "(Trigger *)(pSVar32->idxHash).first" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar32->idxHash).first" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) || (parenthesized_expression "(*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b')" ( (binary_expression "*(char *)((int)&(pSVar32->idxHash).htsize + 2) != '\b'" (pointer_expression "*(char *)((int)&(pSVar32->idxHash).htsize + 2)" * (cast_expression "(char *)((int)&(pSVar32->idxHash).htsize + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pSVar32->idxHash).htsize + 2)" ( (binary_expression "(int)&(pSVar32->idxHash).htsize + 2" (cast_expression "(int)&(pSVar32->idxHash).htsize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pSVar32->idxHash).htsize" & (field_expression "(pSVar32->idxHash).htsize" (parenthesized_expression "(pSVar32->idxHash)" ( (field_expression "pSVar32->idxHash" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) != (char_literal "'\b'" ' escape_sequence ')) ))) )) ))) )) ))) )) (compound_statement "{\n            in_stack_ffffff8c = 1;\n            iDataCur = (Schema *)pIdx;\n            in_stack_ffffff80 = pSVar32;\n            in_stack_ffffff88 = regNew;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);\n            in_stack_ffffff84 = pcStack_40;\n            uStack_70 = uVar14;\n          }" { (expression_statement "in_stack_ffffff8c = 1;" (assignment_expression "in_stack_ffffff8c = 1" identifier = number_literal) ;) (expression_statement "iDataCur = (Schema *)pIdx;" (assignment_expression "iDataCur = (Schema *)pIdx" identifier = (cast_expression "(Schema *)pIdx" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = pSVar32;" (assignment_expression "in_stack_ffffff80 = pSVar32" identifier = identifier) ;) (expression_statement "in_stack_ffffff88 = regNew;" (assignment_expression "in_stack_ffffff88 = regNew" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(pParse,iVar6,pSVar12)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" ( (binary_expression "PTR_LAB_00190bc4 + 0x45fc" identifier + number_literal) )))) )) (argument_list "(pParse,iVar6,pSVar12)" ( identifier , identifier , identifier ))) ;) (expression_statement "in_stack_ffffff84 = pcStack_40;" (assignment_expression "in_stack_ffffff84 = pcStack_40" identifier = identifier) ;) (expression_statement "uStack_70 = uVar14;" (assignment_expression "uStack_70 = uVar14" identifier = identifier) ;) })) })) (if_statement "if (aiFree == (int *)0x0) goto LAB_00109d78;" if (parenthesized_expression "(aiFree == (int *)0x0)" ( (binary_expression "aiFree == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;)) (expression_statement "(*(code *)(puVar4 + -0x2368))(psVar31);" (call_expression "(*(code *)(puVar4 + -0x2368))(psVar31)" (parenthesized_expression "(*(code *)(puVar4 + -0x2368))" ( (pointer_expression "*(code *)(puVar4 + -0x2368)" * (cast_expression "(code *)(puVar4 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0x2368)" ( (binary_expression "puVar4 + -0x2368" identifier + number_literal) )))) )) (argument_list "(psVar31)" ( identifier ))) ;) (expression_statement "pSVar32 = (Schema *)pSVar32->iGeneration;" (assignment_expression "pSVar32 = (Schema *)pSVar32->iGeneration" identifier = (cast_expression "(Schema *)pSVar32->iGeneration" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar32->iGeneration" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(pSVar32 != (Schema *)0x0)" ( (binary_expression "pSVar32 != (Schema *)0x0" identifier != (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "iDataCur = pTab->pSchema;" (assignment_expression "iDataCur = pTab->pSchema" identifier = (field_expression "pTab->pSchema" identifier -> field_identifier)) ;) })) (labeled_statement "LAB_00109d88:\n    pTrigger = (Schema *)0x0;" statement_identifier : (expression_statement "pTrigger = (Schema *)0x0;" (assignment_expression "pTrigger = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pSVar11 = (Schema *)pTab->zName;" (assignment_expression "pSVar11 = (Schema *)pTab->zName" identifier = (cast_expression "(Schema *)pTab->zName" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pTab->zName" identifier -> field_identifier))) ;) (expression_statement "pParse_00 = (sqlite3 *)&iDataCur->fkeyHash;" (assignment_expression "pParse_00 = (sqlite3 *)&iDataCur->fkeyHash" identifier = (cast_expression "(sqlite3 *)&iDataCur->fkeyHash" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iDataCur->fkeyHash" & (field_expression "iDataCur->fkeyHash" identifier -> field_identifier)))) ;) (expression_statement "iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x16c))()" identifier = (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))" ( (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x16c)" * (cast_expression "(code *)(PTR_LAB_00190b40 + 0x16c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0x16c)" ( (binary_expression "PTR_LAB_00190b40 + 0x16c" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar4 = PTR_LAB_00190ba8;" (assignment_expression "puVar4 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "sVar35 = (short)in_stack_ffffff88;" (assignment_expression "sVar35 = (short)in_stack_ffffff88" identifier = (cast_expression "(short)in_stack_ffffff88" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (expression_statement "pSVar7 = *(Schema **)(iVar6 + 8);" (assignment_expression "pSVar7 = *(Schema **)(iVar6 + 8)" identifier = (pointer_expression "*(Schema **)(iVar6 + 8)" * (cast_expression "(Schema **)(iVar6 + 8)" ( (type_descriptor "Schema **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 8)" ( (binary_expression "iVar6 + 8" identifier + number_literal) ))))) ;) (if_statement "if (pSVar7 != (Schema *)0x0) {\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" if (parenthesized_expression "(pSVar7 != (Schema *)0x0)" ( (binary_expression "pSVar7 != (Schema *)0x0" identifier != (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      aiFree = (int *)0x0;\n      iCol = 0;\n      if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;\nLAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;\n      if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" { (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bc4 + -0x729c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" ( (binary_expression "PTR_LAB_00190bc4 + -0x729c" identifier + number_literal) )))) ;) (expression_statement "pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194);" (assignment_expression "pcVar8 = (code *)(PTR_LAB_00190bc4 + -0x4194)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x4194)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x4194)" ( (binary_expression "PTR_LAB_00190bc4 + -0x4194" identifier + number_literal) )))) ;) (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bb8 + -0x210c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) ;) (labeled_statement "LAB_00109dd8:\n      aiFree = (int *)0x0;" statement_identifier : (expression_statement "aiFree = (int *)0x0;" (assignment_expression "aiFree = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "iCol = 0;" (assignment_expression "iCol = 0" identifier = number_literal) ;) (if_statement "if ((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)) {\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }" if (parenthesized_expression "((aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0))" ( (binary_expression "(aChange == (int *)0x0) ||\n         (pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)" (parenthesized_expression "(aChange == (int *)0x0)" ( (binary_expression "aChange == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0)" ( (comma_expression "pParse_00 = (sqlite3 *)pTab, pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0" (assignment_expression "pParse_00 = (sqlite3 *)pTab" identifier = (cast_expression "(sqlite3 *)pTab" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "pSVar11 = pSVar7, pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0" (assignment_expression "pSVar11 = pSVar7" identifier = identifier) , (comma_expression "pTrigger = (Schema *)aChange,\n         iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0" (assignment_expression "pTrigger = (Schema *)aChange" identifier = (cast_expression "(Schema *)aChange" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "iDataCur = (Schema *)bChngRowid, iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0" (assignment_expression "iDataCur = (Schema *)bChngRowid" identifier = (cast_expression "(Schema *)bChngRowid" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (comma_expression "iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(),\n         iVar6 != 0" (assignment_expression "iVar6 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))()" identifier = (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))" ( (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x25dc)" * (cast_expression "(code *)(PTR_LAB_00190b40 + 0x25dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0x25dc)" ( (binary_expression "PTR_LAB_00190b40 + 0x25dc" identifier + number_literal) )))) )) (argument_list "()" ( )))) , (binary_expression "iVar6 != 0" identifier != number_literal)))))) ))) )) (compound_statement "{\n        if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = (Schema *)&iCol;\n        iDataCur = (Schema *)&aiFree;\n        pParse_00 = (sqlite3 *)pParse;\n        pSVar11 = (Schema *)pTab;\n        pTrigger = pSVar7;\n        iVar6 = (*pcVar10)();\n        sVar35 = (short)in_stack_ffffff88;\n        if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        iDataCur = (Schema *)0x0;\n        pTrigger = (Schema *)0x0;\n        pParse_00 = (sqlite3 *)pParse;\n        pSrc = (SrcList *)(*pcVar8)(pParse,0);\n        if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }\n        pSVar11 = (Schema *)iCol;\n        if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }\n      }" { (if_statement "if ((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))) {\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }" if (parenthesized_expression "((*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0'))))" ( (binary_expression "(*(char *)&(pSVar7->idxHash).htsize == '\0') &&\n           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))" (parenthesized_expression "(*(char *)&(pSVar7->idxHash).htsize == '\0')" ( (binary_expression "*(char *)&(pSVar7->idxHash).htsize == '\0'" (pointer_expression "*(char *)&(pSVar7->idxHash).htsize" * (cast_expression "(char *)&(pSVar7->idxHash).htsize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar7->idxHash).htsize" & (field_expression "(pSVar7->idxHash).htsize" (parenthesized_expression "(pSVar7->idxHash)" ( (field_expression "pSVar7->idxHash" identifier -> field_identifier) )) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')))" ( (parenthesized_expression "((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0'))" ( (binary_expression "(-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)) &&\n            (pParse->isMultiWrite == '\0')" (parenthesized_expression "(-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0))" ( (binary_expression "-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (Parse *)0x0)" (binary_expression "-1 < (int)psVar31->flags << 0xc" number_literal < (binary_expression "(int)psVar31->flags << 0xc" (cast_expression "(int)psVar31->flags" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar31->flags" identifier -> field_identifier)) << number_literal)) && (parenthesized_expression "(pParse->pToplevel == (Parse *)0x0)" ( (binary_expression "pParse->pToplevel == (Parse *)0x0" (field_expression "pParse->pToplevel" identifier -> field_identifier) == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pParse->isMultiWrite == '\0')" ( (binary_expression "pParse->isMultiWrite == '\0'" (field_expression "pParse->isMultiWrite" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          pSVar7 = (Schema *)(pSVar7->tblHash).count;\n          goto LAB_0010a250;\n        }" { (expression_statement "pSVar7 = (Schema *)(pSVar7->tblHash).count;" (assignment_expression "pSVar7 = (Schema *)(pSVar7->tblHash).count" identifier = (cast_expression "(Schema *)(pSVar7->tblHash).count" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar7->tblHash).count" (parenthesized_expression "(pSVar7->tblHash)" ( (field_expression "pSVar7->tblHash" identifier -> field_identifier) )) . field_identifier))) ;) (goto_statement "goto LAB_0010a250;" goto statement_identifier ;) })) (expression_statement "in_stack_ffffff80 = (Schema *)&iCol;" (assignment_expression "in_stack_ffffff80 = (Schema *)&iCol" identifier = (cast_expression "(Schema *)&iCol" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iCol" & identifier))) ;) (expression_statement "iDataCur = (Schema *)&aiFree;" (assignment_expression "iDataCur = (Schema *)&aiFree" identifier = (cast_expression "(Schema *)&aiFree" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&aiFree" & identifier))) ;) (expression_statement "pParse_00 = (sqlite3 *)pParse;" (assignment_expression "pParse_00 = (sqlite3 *)pParse" identifier = (cast_expression "(sqlite3 *)pParse" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSVar11 = (Schema *)pTab;" (assignment_expression "pSVar11 = (Schema *)pTab" identifier = (cast_expression "(Schema *)pTab" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pTrigger = pSVar7;" (assignment_expression "pTrigger = pSVar7" identifier = identifier) ;) (expression_statement "iVar6 = (*pcVar10)();" (assignment_expression "iVar6 = (*pcVar10)()" identifier = (call_expression "(*pcVar10)()" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "sVar35 = (short)in_stack_ffffff88;" (assignment_expression "sVar35 = (short)in_stack_ffffff88" identifier = (cast_expression "(short)in_stack_ffffff88" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;) (if_statement "if (iVar6 != 0) {\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" { (if_statement "if ((uVar1 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;" if (parenthesized_expression "((uVar1 != '\0') && (psVar31->mallocFailed == '\0'))" ( (binary_expression "(uVar1 != '\0') && (psVar31->mallocFailed == '\0')" (parenthesized_expression "(uVar1 != '\0')" ( (binary_expression "uVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(psVar31->mallocFailed == '\0')" ( (binary_expression "psVar31->mallocFailed == '\0'" (field_expression "psVar31->mallocFailed" identifier -> field_identifier) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0010a24c;" goto statement_identifier ;)) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;) })) (expression_statement "iDataCur = (Schema *)0x0;" (assignment_expression "iDataCur = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pTrigger = (Schema *)0x0;" (assignment_expression "pTrigger = (Schema *)0x0" identifier = (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pParse_00 = (sqlite3 *)pParse;" (assignment_expression "pParse_00 = (sqlite3 *)pParse" identifier = (cast_expression "(sqlite3 *)pParse" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pSrc = (SrcList *)(*pcVar8)(pParse,0);" (assignment_expression "pSrc = (SrcList *)(*pcVar8)(pParse,0)" identifier = (cast_expression "(SrcList *)(*pcVar8)(pParse,0)" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar8)(pParse,0)" (parenthesized_expression "(*pcVar8)" ( (pointer_expression "*pcVar8" * identifier) )) (argument_list "(pParse,0)" ( identifier , number_literal ))))) ;) (if_statement "if (pSrc != (SrcList *)0x0) {\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }" if (parenthesized_expression "(pSrc != (SrcList *)0x0)" ( (binary_expression "pSrc != (SrcList *)0x0" identifier != (cast_expression "(SrcList *)0x0" ( (type_descriptor "SrcList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pTVar24 = (Table *)pSVar7->schema_cookie;\n          pSrc->a[0].pTab = pTVar24;\n          pSrc->a[0].zName = pTVar24->zName;\n          pTVar24->nTabRef = pTVar24->nTabRef + 1;\n          iVar6 = pParse->nTab;\n          pParse->nTab = iVar6 + 1;\n          pSrc->a[0].iCursor = iVar6;\n          if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }\n          if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }\n          pSrc->a[0].zName = (char *)0x0;\n          pParse_00 = psVar31;\n          (*pcVar9)(psVar31,pSrc);\n        }" { (expression_statement "pTVar24 = (Table *)pSVar7->schema_cookie;" (assignment_expression "pTVar24 = (Table *)pSVar7->schema_cookie" identifier = (cast_expression "(Table *)pSVar7->schema_cookie" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pSVar7->schema_cookie" identifier -> field_identifier))) ;) (expression_statement "pSrc->a[0].pTab = pTVar24;" (assignment_expression "pSrc->a[0].pTab = pTVar24" (field_expression "pSrc->a[0].pTab" (subscript_expression "pSrc->a[0]" (field_expression "pSrc->a" identifier -> field_identifier) [ number_literal ]) . field_identifier) = identifier) ;) (expression_statement "pSrc->a[0].zName = pTVar24->zName;" (assignment_expression "pSrc->a[0].zName = pTVar24->zName" (field_expression "pSrc->a[0].zName" (subscript_expression "pSrc->a[0]" (field_expression "pSrc->a" identifier -> field_identifier) [ number_literal ]) . field_identifier) = (field_expression "pTVar24->zName" identifier -> field_identifier)) ;) (expression_statement "pTVar24->nTabRef = pTVar24->nTabRef + 1;" (assignment_expression "pTVar24->nTabRef = pTVar24->nTabRef + 1" (field_expression "pTVar24->nTabRef" identifier -> field_identifier) = (binary_expression "pTVar24->nTabRef + 1" (field_expression "pTVar24->nTabRef" identifier -> field_identifier) + number_literal)) ;) (expression_statement "iVar6 = pParse->nTab;" (assignment_expression "iVar6 = pParse->nTab" identifier = (field_expression "pParse->nTab" identifier -> field_identifier)) ;) (expression_statement "pParse->nTab = iVar6 + 1;" (assignment_expression "pParse->nTab = iVar6 + 1" (field_expression "pParse->nTab" identifier -> field_identifier) = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (expression_statement "pSrc->a[0].iCursor = iVar6;" (assignment_expression "pSrc->a[0].iCursor = iVar6" (field_expression "pSrc->a[0].iCursor" (subscript_expression "pSrc->a[0]" (field_expression "pSrc->a" identifier -> field_identifier) [ number_literal ]) . field_identifier) = identifier) ;) (if_statement "if (regNew != 0) {\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }" if (parenthesized_expression "(regNew != 0)" ( (binary_expression "regNew != 0" identifier != number_literal) )) (compound_statement "{\n            in_stack_ffffff8c = 0xffffffff;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regNew;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);\n          }" { (expression_statement "in_stack_ffffff8c = 0xffffffff;" (assignment_expression "in_stack_ffffff8c = 0xffffffff" identifier = number_literal) ;) (expression_statement "pTrigger = (Schema *)pTab;" (assignment_expression "pTrigger = (Schema *)pTab" identifier = (cast_expression "(Schema *)pTab" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iDataCur = (Schema *)aiFree;" (assignment_expression "iDataCur = (Schema *)aiFree" identifier = (cast_expression "(Schema *)aiFree" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = pSVar7;" (assignment_expression "in_stack_ffffff80 = pSVar7" identifier = identifier) ;) (expression_statement "in_stack_ffffff84 = (code *)iCol;" (assignment_expression "in_stack_ffffff84 = (code *)iCol" identifier = (cast_expression "(code *)iCol" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff88 = regNew;" (assignment_expression "in_stack_ffffff88 = regNew" identifier = identifier) ;) (expression_statement "fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1);" (call_expression "fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1)" identifier (argument_list "(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regNew,-1)" ( identifier , identifier , identifier , (cast_expression "(Index *)aiFree" ( (type_descriptor "Index *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(FKey *)pSVar7" ( (type_descriptor "FKey *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)iCol" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal ))) ;) })) (if_statement "if (regOld != 0) {\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }" if (parenthesized_expression "(regOld != 0)" ( (binary_expression "regOld != 0" identifier != number_literal) )) (compound_statement "{\n            bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);\n            in_stack_ffffff8c = 1;\n            pTrigger = (Schema *)pTab;\n            iDataCur = (Schema *)aiFree;\n            in_stack_ffffff80 = pSVar7;\n            in_stack_ffffff84 = (code *)iCol;\n            in_stack_ffffff88 = regOld;\n            fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);\n            if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }\n          }" { (expression_statement "bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1);" (assignment_expression "bVar3 = *(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1)" identifier = (pointer_expression "*(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1)" * (cast_expression "(byte *)((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1)" ( (binary_expression "(int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0) + 1" (binary_expression "(int)&(pSVar7->idxHash).htsize + (aChange != (int *)0x0)" (cast_expression "(int)&(pSVar7->idxHash).htsize" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pSVar7->idxHash).htsize" & (field_expression "(pSVar7->idxHash).htsize" (parenthesized_expression "(pSVar7->idxHash)" ( (field_expression "pSVar7->idxHash" identifier -> field_identifier) )) . field_identifier))) + (parenthesized_expression "(aChange != (int *)0x0)" ( (binary_expression "aChange != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) + number_literal) ))))) ;) (expression_statement "in_stack_ffffff8c = 1;" (assignment_expression "in_stack_ffffff8c = 1" identifier = number_literal) ;) (expression_statement "pTrigger = (Schema *)pTab;" (assignment_expression "pTrigger = (Schema *)pTab" identifier = (cast_expression "(Schema *)pTab" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iDataCur = (Schema *)aiFree;" (assignment_expression "iDataCur = (Schema *)aiFree" identifier = (cast_expression "(Schema *)aiFree" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = pSVar7;" (assignment_expression "in_stack_ffffff80 = pSVar7" identifier = identifier) ;) (expression_statement "in_stack_ffffff84 = (code *)iCol;" (assignment_expression "in_stack_ffffff84 = (code *)iCol" identifier = (cast_expression "(code *)iCol" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "in_stack_ffffff88 = regOld;" (assignment_expression "in_stack_ffffff88 = regOld" identifier = identifier) ;) (expression_statement "fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1);" (call_expression "fkScanChildren(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1)" identifier (argument_list "(pParse,pSrc,pTab,(Index *)aiFree,(FKey *)pSVar7,(int *)iCol,regOld,1)" ( identifier , identifier , identifier , (cast_expression "(Index *)aiFree" ( (type_descriptor "Index *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(FKey *)pSVar7" ( (type_descriptor "FKey *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int *)iCol" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal ))) ;) (if_statement "if ((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)) {\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }" if (parenthesized_expression "((*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8))" ( (binary_expression "(*(char *)&(pSVar7->idxHash).htsize == '\0') && ((bVar3 & 0xfd) != 8)" (parenthesized_expression "(*(char *)&(pSVar7->idxHash).htsize == '\0')" ( (binary_expression "*(char *)&(pSVar7->idxHash).htsize == '\0'" (pointer_expression "*(char *)&(pSVar7->idxHash).htsize" * (cast_expression "(char *)&(pSVar7->idxHash).htsize" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pSVar7->idxHash).htsize" & (field_expression "(pSVar7->idxHash).htsize" (parenthesized_expression "(pSVar7->idxHash)" ( (field_expression "pSVar7->idxHash" identifier -> field_identifier) )) . field_identifier)))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((bVar3 & 0xfd) != 8)" ( (binary_expression "(bVar3 & 0xfd) != 8" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              pPVar25 = pParse->pToplevel;\n              if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }\n              pPVar25->mayAbort = '\x01';\n            }" { (expression_statement "pPVar25 = pParse->pToplevel;" (assignment_expression "pPVar25 = pParse->pToplevel" identifier = (field_expression "pParse->pToplevel" identifier -> field_identifier)) ;) (if_statement "if (pParse->pToplevel == (Parse *)0x0) {\n                pPVar25 = pParse;\n              }" if (parenthesized_expression "(pParse->pToplevel == (Parse *)0x0)" ( (binary_expression "pParse->pToplevel == (Parse *)0x0" (field_expression "pParse->pToplevel" identifier -> field_identifier) == (cast_expression "(Parse *)0x0" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                pPVar25 = pParse;\n              }" { (expression_statement "pPVar25 = pParse;" (assignment_expression "pPVar25 = pParse" identifier = identifier) ;) })) (expression_statement "pPVar25->mayAbort = '\x01';" (assignment_expression "pPVar25->mayAbort = '\x01'" (field_expression "pPVar25->mayAbort" identifier -> field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) })) (expression_statement "pSrc->a[0].zName = (char *)0x0;" (assignment_expression "pSrc->a[0].zName = (char *)0x0" (field_expression "pSrc->a[0].zName" (subscript_expression "pSrc->a[0]" (field_expression "pSrc->a" identifier -> field_identifier) [ number_literal ]) . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pParse_00 = psVar31;" (assignment_expression "pParse_00 = psVar31" identifier = identifier) ;) (expression_statement "(*pcVar9)(psVar31,pSrc);" (call_expression "(*pcVar9)(psVar31,pSrc)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(psVar31,pSrc)" ( identifier , identifier ))) ;) })) (expression_statement "pSVar11 = (Schema *)iCol;" (assignment_expression "pSVar11 = (Schema *)iCol" identifier = (cast_expression "(Schema *)iCol" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (iCol != 0) {\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }" if (parenthesized_expression "(iCol != 0)" ( (binary_expression "iCol != 0" identifier != number_literal) )) (compound_statement "{\n          pParse_00 = psVar31;\n          (*(code *)(puVar4 + -0x2368))();\n        }" { (expression_statement "pParse_00 = psVar31;" (assignment_expression "pParse_00 = psVar31" identifier = identifier) ;) (expression_statement "(*(code *)(puVar4 + -0x2368))();" (call_expression "(*(code *)(puVar4 + -0x2368))()" (parenthesized_expression "(*(code *)(puVar4 + -0x2368))" ( (pointer_expression "*(code *)(puVar4 + -0x2368)" * (cast_expression "(code *)(puVar4 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar4 + -0x2368)" ( (binary_expression "puVar4 + -0x2368" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) })) })) (labeled_statement "LAB_0010a24c:\n      pSVar7 = (Schema *)(pSVar7->tblHash).count;" statement_identifier : (expression_statement "pSVar7 = (Schema *)(pSVar7->tblHash).count;" (assignment_expression "pSVar7 = (Schema *)(pSVar7->tblHash).count" identifier = (cast_expression "(Schema *)(pSVar7->tblHash).count" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "(pSVar7->tblHash).count" (parenthesized_expression "(pSVar7->tblHash)" ( (field_expression "pSVar7->tblHash" identifier -> field_identifier) )) . field_identifier))) ;)) (labeled_statement "LAB_0010a250:\n      sVar35 = (short)in_stack_ffffff88;" statement_identifier : (expression_statement "sVar35 = (short)in_stack_ffffff88;" (assignment_expression "sVar35 = (short)in_stack_ffffff88" identifier = (cast_expression "(short)in_stack_ffffff88" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) identifier)) ;)) (if_statement "if (pSVar7 == (Schema *)0x0) goto LAB_00109e60;" if (parenthesized_expression "(pSVar7 == (Schema *)0x0)" ( (binary_expression "pSVar7 == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;)) (goto_statement "goto LAB_00109dd8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00109e60:\n  if (uStack_2c == *(uint *)puVar34) {\n    return;\n  }" statement_identifier : (if_statement "if (uStack_2c == *(uint *)puVar34) {\n    return;\n  }" if (parenthesized_expression "(uStack_2c == *(uint *)puVar34)" ( (binary_expression "uStack_2c == *(uint *)puVar34" identifier == (pointer_expression "*(uint *)puVar34" * (cast_expression "(uint *)puVar34" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar34 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar34 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "ignoreJump = pParse_00->nSchemaLock - 1;" (assignment_expression "ignoreJump = pParse_00->nSchemaLock - 1" identifier = (binary_expression "pParse_00->nSchemaLock - 1" (field_expression "pParse_00->nSchemaLock" identifier -> field_identifier) - number_literal)) ;) (expression_statement "pParse_00->nSchemaLock = ignoreJump;" (assignment_expression "pParse_00->nSchemaLock = ignoreJump" (field_expression "pParse_00->nSchemaLock" identifier -> field_identifier) = identifier) ;) (expression_statement "uVar14 = uStack_70 & 0xff;" (assignment_expression "uVar14 = uStack_70 & 0xff" identifier = (binary_expression "uStack_70 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar21 = 0x1c;" (assignment_expression "uVar21 = 0x1c" identifier = number_literal) ;) (expression_statement "pCVar30 = pParse_00->pDfltColl;" (assignment_expression "pCVar30 = pParse_00->pDfltColl" identifier = (field_expression "pParse_00->pDfltColl" identifier -> field_identifier)) ;) (if_statement "if (((uint)(pSVar11->idxHash).ht & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }" if (parenthesized_expression "(((uint)(pSVar11->idxHash).ht & 0x20) == 0)" ( (binary_expression "((uint)(pSVar11->idxHash).ht & 0x20) == 0" (parenthesized_expression "((uint)(pSVar11->idxHash).ht & 0x20)" ( (binary_expression "(uint)(pSVar11->idxHash).ht & 0x20" (field_expression "(uint)(pSVar11->idxHash).ht" (call_expression "(uint)(pSVar11->idxHash)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pSVar11->idxHash)" ( (field_expression "pSVar11->idxHash" identifier -> field_identifier) ))) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar21 = 0x1f;\n  }" { (expression_statement "uVar21 = 0x1f;" (assignment_expression "uVar21 = 0x1f" identifier = number_literal) ;) })) (if_statement "if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n  }" if (parenthesized_expression "(cStack_69 == '\0')" ( (binary_expression "cStack_69 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n  }" { (expression_statement "(*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);" (call_expression "(*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n              (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x86810) + 0x13a0)" ( (binary_expression "*(int *)(puVar34 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar34 + 0x86810)" * (cast_expression "(int *)(puVar34 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86810)" ( (binary_expression "puVar34 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)sVar35" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) })) (expression_statement "pSStack_d0 = (Schema *)&_gp;" (assignment_expression "pSStack_d0 = (Schema *)&_gp" identifier = (cast_expression "(Schema *)&_gp" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&_gp" & identifier))) ;) (expression_statement "iVar6 = (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0);" (assignment_expression "iVar6 = (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))(pParse_00->pVfs,pSVar11,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x867f4) + -0x3768)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x867f4) + -0x3768)" ( (binary_expression "*(int *)(puVar34 + 0x867f4) + -0x3768" (pointer_expression "*(int *)(puVar34 + 0x867f4)" * (cast_expression "(int *)(puVar34 + 0x867f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x867f4)" ( (binary_expression "puVar34 + 0x867f4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00->pVfs,pSVar11,0,0)" ( (field_expression "pParse_00->pVfs" identifier -> field_identifier) , identifier , number_literal , number_literal )))) ;) (if_statement "if ((iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)) {\n    uVar16 = (pSVar11->tblHash).count;\n    iVar19 = 0;\n  }\n  else {\n    uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);\n    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }\n    iVar33 = (int)pParse_00->lastRowid;\n    iVar6 = *(int *)(puVar34 + 0x86810);\n    iVar19 = iVar33 + 1;\n    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;\n    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);\n    uVar16 = 0;\n    iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n    if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }\n    pvVar17 = pCVar30[5].pUser;\n    iVar6 = *(int *)(puVar34 + 0x86818);\n    sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);\n    if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }\n    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);\n    uVar16 = (pSVar11->tblHash).count;\n  }" if (parenthesized_expression "((iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0))" ( (binary_expression "(iVar6 == 0) && (iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0)" ( (comma_expression "iVar6 = *(int *)(puVar34 + 0x86818), pTrigger == (Schema *)0x0" (assignment_expression "iVar6 = *(int *)(puVar34 + 0x86818)" identifier = (pointer_expression "*(int *)(puVar34 + 0x86818)" * (cast_expression "(int *)(puVar34 + 0x86818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86818)" ( (binary_expression "puVar34 + 0x86818" identifier + number_literal) ))))) , (binary_expression "pTrigger == (Schema *)0x0" identifier == (cast_expression "(Schema *)0x0" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    uVar16 = (pSVar11->tblHash).count;\n    iVar19 = 0;\n  }" { (expression_statement "uVar16 = (pSVar11->tblHash).count;" (assignment_expression "uVar16 = (pSVar11->tblHash).count" identifier = (field_expression "(pSVar11->tblHash).count" (parenthesized_expression "(pSVar11->tblHash)" ( (field_expression "pSVar11->tblHash" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "iVar19 = 0;" (assignment_expression "iVar19 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);\n    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }\n    iVar33 = (int)pParse_00->lastRowid;\n    iVar6 = *(int *)(puVar34 + 0x86810);\n    iVar19 = iVar33 + 1;\n    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;\n    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);\n    uVar16 = 0;\n    iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n    if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }\n    pvVar17 = pCVar30[5].pUser;\n    iVar6 = *(int *)(puVar34 + 0x86818);\n    sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);\n    if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }\n    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);\n    uVar16 = (pSVar11->tblHash).count;\n  }" else (compound_statement "{\n    uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);\n    if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }\n    iVar33 = (int)pParse_00->lastRowid;\n    iVar6 = *(int *)(puVar34 + 0x86810);\n    iVar19 = iVar33 + 1;\n    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;\n    (*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);\n    uVar16 = 0;\n    iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n    if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }\n    pvVar17 = pCVar30[5].pUser;\n    iVar6 = *(int *)(puVar34 + 0x86818);\n    sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);\n    if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }\n    sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);\n    uVar16 = (pSVar11->tblHash).count;\n  }" { (expression_statement "uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14);" (assignment_expression "uVar15 = sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14)" identifier = (call_expression "sqlite3TriggerColmask\n                       ((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14)" identifier (argument_list "((Parse *)pParse_00,(Trigger *)pTrigger,(ExprList *)0x0,0,3,(Table *)pSVar11,\n                        uVar14)" ( (cast_expression "(Parse *)pParse_00" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Trigger *)pTrigger" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , number_literal , (cast_expression "(Table *)pSVar11" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if (((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }" if (parenthesized_expression "(((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0)" ( (binary_expression "((uint)pParse_00->pVfs->xFullPathname & 0x4000) != 0" (parenthesized_expression "((uint)pParse_00->pVfs->xFullPathname & 0x4000)" ( (binary_expression "(uint)pParse_00->pVfs->xFullPathname & 0x4000" (cast_expression "(uint)pParse_00->pVfs->xFullPathname" ( (type_descriptor "uint" type_identifier) ) (field_expression "pParse_00->pVfs->xFullPathname" (field_expression "pParse_00->pVfs" identifier -> field_identifier) -> field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);\n      uVar15 = uVar15 | uVar16;\n    }" { (expression_statement "uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11);" (assignment_expression "uVar16 = (*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11)" identifier = (call_expression "(*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))(pParse_00,pSVar11)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x86814) + -0x6eb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x86814) + -0x6eb0)" ( (binary_expression "*(int *)(puVar34 + 0x86814) + -0x6eb0" (pointer_expression "*(int *)(puVar34 + 0x86814)" * (cast_expression "(int *)(puVar34 + 0x86814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86814)" ( (binary_expression "puVar34 + 0x86814" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pParse_00,pSVar11)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = uVar15 | uVar16;" (assignment_expression "uVar15 = uVar15 | uVar16" identifier = (binary_expression "uVar15 | uVar16" identifier | identifier)) ;) })) (expression_statement "iVar33 = (int)pParse_00->lastRowid;" (assignment_expression "iVar33 = (int)pParse_00->lastRowid" identifier = (cast_expression "(int)pParse_00->lastRowid" ( (type_descriptor "int" primitive_type) ) (field_expression "pParse_00->lastRowid" identifier -> field_identifier))) ;) (expression_statement "iVar6 = *(int *)(puVar34 + 0x86810);" (assignment_expression "iVar6 = *(int *)(puVar34 + 0x86810)" identifier = (pointer_expression "*(int *)(puVar34 + 0x86810)" * (cast_expression "(int *)(puVar34 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86810)" ( (binary_expression "puVar34 + 0x86810" identifier + number_literal) ))))) ;) (expression_statement "iVar19 = iVar33 + 1;" (assignment_expression "iVar19 = iVar33 + 1" identifier = (binary_expression "iVar33 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33;" (assignment_expression "*(int *)((int)&pParse_00->lastRowid + 4) = (short)(pSVar11->trigHash).htsize + 1 + iVar33" (pointer_expression "*(int *)((int)&pParse_00->lastRowid + 4)" * (cast_expression "(int *)((int)&pParse_00->lastRowid + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pParse_00->lastRowid + 4)" ( (binary_expression "(int)&pParse_00->lastRowid + 4" (cast_expression "(int)&pParse_00->lastRowid" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pParse_00->lastRowid" & (field_expression "pParse_00->lastRowid" identifier -> field_identifier))) + number_literal) )))) = (binary_expression "(short)(pSVar11->trigHash).htsize + 1 + iVar33" (binary_expression "(short)(pSVar11->trigHash).htsize + 1" (cast_expression "(short)(pSVar11->trigHash).htsize" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "(pSVar11->trigHash).htsize" (parenthesized_expression "(pSVar11->trigHash)" ( (field_expression "pSVar11->trigHash" identifier -> field_identifier) )) . field_identifier)) + number_literal) + identifier)) ;) (expression_statement "(*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0);" (call_expression "(*(code *)(iVar6 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,iVar19,0)" (parenthesized_expression "(*(code *)(iVar6 + 0x10fc))" ( (pointer_expression "*(code *)(iVar6 + 0x10fc)" * (cast_expression "(code *)(iVar6 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x10fc)" ( (binary_expression "iVar6 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pCVar30,0x4e,in_stack_ffffff84,iVar19,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar6 = (int)(short)(pSVar11->trigHash).htsize;" (assignment_expression "iVar6 = (int)(short)(pSVar11->trigHash).htsize" identifier = (cast_expression "(int)(short)(pSVar11->trigHash).htsize" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)(pSVar11->trigHash).htsize" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "(pSVar11->trigHash).htsize" (parenthesized_expression "(pSVar11->trigHash)" ( (field_expression "pSVar11->trigHash" identifier -> field_identifier) )) . field_identifier)))) ;) (if_statement "if (0 < iVar6) {\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }" if (parenthesized_expression "(0 < iVar6)" ( (binary_expression "0 < iVar6" number_literal < identifier) )) (compound_statement "{\n      iVar22 = *(int *)(puVar34 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);\n    }" { (expression_statement "iVar22 = *(int *)(puVar34 + 0x86814);" (assignment_expression "iVar22 = *(int *)(puVar34 + 0x86814)" identifier = (pointer_expression "*(int *)(puVar34 + 0x86814)" * (cast_expression "(int *)(puVar34 + 0x86814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86814)" ( (binary_expression "puVar34 + 0x86814" identifier + number_literal) ))))) ;) (do_statement "do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar6);" do (compound_statement "{\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }\n        uVar16 = uVar16 + 1;\n      }" { (if_statement "if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }" if (parenthesized_expression "((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))))" ( (binary_expression "(uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" ( (parenthesized_expression "((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))" ( (binary_expression "(int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)" (binary_expression "(int)uVar16 < 0x20" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "((1 << (uVar16 & 0x1f) & uVar15) != 0)" ( (binary_expression "(1 << (uVar16 & 0x1f) & uVar15) != 0" (parenthesized_expression "(1 << (uVar16 & 0x1f) & uVar15)" ( (binary_expression "1 << (uVar16 & 0x1f) & uVar15" (binary_expression "1 << (uVar16 & 0x1f)" number_literal << (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) ))) & identifier) )) != number_literal) ))) )) ))) )) (compound_statement "{\n          (*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);\n          iVar6 = (int)(short)(pSVar11->trigHash).htsize;\n        }" { (expression_statement "(*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16);" (call_expression "(*(code *)(iVar22 + 0x4eb8))(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16)" (parenthesized_expression "(*(code *)(iVar22 + 0x4eb8))" ( (pointer_expression "*(code *)(iVar22 + 0x4eb8)" * (cast_expression "(code *)(iVar22 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x4eb8)" ( (binary_expression "iVar22 + 0x4eb8" identifier + number_literal) )))) )) (argument_list "(pCVar30,pSVar11,iDataCur,uVar16,iVar33 + 2 + uVar16)" ( identifier , identifier , identifier , identifier , (binary_expression "iVar33 + 2 + uVar16" (binary_expression "iVar33 + 2" identifier + number_literal) + identifier) ))) ;) (expression_statement "iVar6 = (int)(short)(pSVar11->trigHash).htsize;" (assignment_expression "iVar6 = (int)(short)(pSVar11->trigHash).htsize" identifier = (cast_expression "(int)(short)(pSVar11->trigHash).htsize" ( (type_descriptor "int" primitive_type) ) (cast_expression "(short)(pSVar11->trigHash).htsize" ( (type_descriptor "short" (sized_type_specifier "short" short)) ) (field_expression "(pSVar11->trigHash).htsize" (parenthesized_expression "(pSVar11->trigHash)" ( (field_expression "pSVar11->trigHash" identifier -> field_identifier) )) . field_identifier)))) ;) })) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar16 < iVar6)" ( (binary_expression "(int)uVar16 < iVar6" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (expression_statement "pvVar17 = pCVar30[5].pUser;" (assignment_expression "pvVar17 = pCVar30[5].pUser" identifier = (field_expression "pCVar30[5].pUser" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "iVar6 = *(int *)(puVar34 + 0x86818);" (assignment_expression "iVar6 = *(int *)(puVar34 + 0x86818)" identifier = (pointer_expression "*(int *)(puVar34 + 0x86818)" * (cast_expression "(int *)(puVar34 + 0x86818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86818)" ( (binary_expression "puVar34 + 0x86818" identifier + number_literal) ))))) ;) (expression_statement "sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump);" (call_expression "sqlite3CodeRowTrigger\n              ((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump)" identifier (argument_list "((Parse *)pParse_00,(Trigger *)pTrigger,0x75,(ExprList *)0x0,1,(Table *)pSVar11,iVar19\n               ,uVar14,ignoreJump)" ( (cast_expression "(Parse *)pParse_00" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Trigger *)pTrigger" ( (type_descriptor "Trigger *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , number_literal , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal , (cast_expression "(Table *)pSVar11" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , identifier ))) ;) (if_statement "if ((int)pvVar17 < (int)pCVar30[5].pUser) {\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }" if (parenthesized_expression "((int)pvVar17 < (int)pCVar30[5].pUser)" ( (binary_expression "(int)pvVar17 < (int)pCVar30[5].pUser" (cast_expression "(int)pvVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pCVar30[5].pUser" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar30[5].pUser" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n      (*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);\n      pSStack_d0 = (Schema *)0xffffffff;\n    }" { (expression_statement "(*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35);" (call_expression "(*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))\n                (pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x86810) + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x86810) + 0x13a0)" ( (binary_expression "*(int *)(puVar34 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar34 + 0x86810)" * (cast_expression "(int *)(puVar34 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86810)" ( (binary_expression "puVar34 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCVar30,uVar21,iDataCur,ignoreJump,in_stack_ffffff84,(int)sVar35)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)sVar35" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "pSStack_d0 = (Schema *)0xffffffff;" (assignment_expression "pSStack_d0 = (Schema *)0xffffffff" identifier = (cast_expression "(Schema *)0xffffffff" ( (type_descriptor "Schema *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0);" (call_expression "sqlite3FkCheck((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0)" identifier (argument_list "((Parse *)pParse_00,(Table *)pSVar11,iVar19,0,(int *)0x0,0)" ( (cast_expression "(Parse *)pParse_00" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Table *)pSVar11" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , number_literal , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal ))) ;) (expression_statement "uVar16 = (pSVar11->tblHash).count;" (assignment_expression "uVar16 = (pSVar11->tblHash).count" identifier = (field_expression "(pSVar11->tblHash).count" (parenthesized_expression "(pSVar11->tblHash)" ( (field_expression "pSVar11->tblHash" identifier -> field_identifier) )) . field_identifier)) ;) }))) (if_statement "if (uVar16 == 0) {\n    sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0);\n    iVar33 = *(int *)(puVar34 + 0x86810);\n    (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);\n    if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }\n    else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }\n    else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }\n    if (0 < (int)pCVar30[5].pUser) {\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }\n  }" if (parenthesized_expression "(uVar16 == 0)" ( (binary_expression "uVar16 == 0" identifier == number_literal) )) (compound_statement "{\n    sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0);\n    iVar33 = *(int *)(puVar34 + 0x86810);\n    (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);\n    if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }\n    else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }\n    else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }\n    if (0 < (int)pCVar30[5].pUser) {\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }\n  }" { (expression_statement "sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0);" (call_expression "sqlite3GenerateRowIndexDelete\n              ((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0)" identifier (argument_list "((Parse *)pParse_00,(Table *)pSVar11,(int)iDataCur,(int)in_stack_ffffff80,(int *)0x0,\n               (int)pSStack_d0)" ( (cast_expression "(Parse *)pParse_00" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Table *)pSVar11" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)iDataCur" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int)in_stack_ffffff80" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(int)pSStack_d0" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (expression_statement "iVar33 = *(int *)(puVar34 + 0x86810);" (assignment_expression "iVar33 = *(int *)(puVar34 + 0x86810)" identifier = (pointer_expression "*(int *)(puVar34 + 0x86810)" * (cast_expression "(int *)(puVar34 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86810)" ( (binary_expression "puVar34 + 0x86810" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0);" (call_expression "(*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0)" (parenthesized_expression "(*(code *)(iVar33 + 0x10fc))" ( (pointer_expression "*(code *)(iVar33 + 0x10fc)" * (cast_expression "(code *)(iVar33 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x10fc)" ( (binary_expression "iVar33 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pCVar30,0x7b,iDataCur,in_stack_ffffff8c & 0xff,0)" ( identifier , number_literal , identifier , (binary_expression "in_stack_ffffff8c & 0xff" identifier & number_literal) , number_literal ))) ;) (if_statement "if (*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }\n    else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;" if (parenthesized_expression "(*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0')" ( (binary_expression "*(undefined1 *)((int)&pParse_00->aDb + 2) == '\0'" (pointer_expression "*(undefined1 *)((int)&pParse_00->aDb + 2)" * (cast_expression "(undefined1 *)((int)&pParse_00->aDb + 2)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pParse_00->aDb + 2)" ( (binary_expression "(int)&pParse_00->aDb + 2" (cast_expression "(int)&pParse_00->aDb" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pParse_00->aDb" & (field_expression "pParse_00->aDb" identifier -> field_identifier))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);\n    }" { (labeled_statement "LAB_0010a8b0:\n      (*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa);" (call_expression "(*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))(pCVar30,pSVar11,0xfffffffa)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x867f4) + -0x24d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x867f4) + -0x24d4)" ( (binary_expression "*(int *)(puVar34 + 0x867f4) + -0x24d4" (pointer_expression "*(int *)(puVar34 + 0x867f4)" * (cast_expression "(int *)(puVar34 + 0x867f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x867f4)" ( (binary_expression "puVar34 + 0x867f4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCVar30,pSVar11,0xfffffffa)" ( identifier , identifier , number_literal ))) ;)) }) (else_clause "else if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;" else (if_statement "if ((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)) goto LAB_0010a8b0;" if (parenthesized_expression "((pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0))" ( (binary_expression "(pSVar11->schema_cookie != 0) &&\n            (iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)" (parenthesized_expression "(pSVar11->schema_cookie != 0)" ( (binary_expression "pSVar11->schema_cookie != 0" (field_expression "pSVar11->schema_cookie" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "(iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0)" ( (comma_expression "iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128),\n            iVar22 == 0" (assignment_expression "iVar22 = (*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128)" identifier = (call_expression "(*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))\n                                (pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x867f8) + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x867f8) + 0x20c8)" ( (binary_expression "*(int *)(puVar34 + 0x867f8) + 0x20c8" (pointer_expression "*(int *)(puVar34 + 0x867f8)" * (cast_expression "(int *)(puVar34 + 0x867f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x867f8)" ( (binary_expression "puVar34 + 0x867f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pSVar11->schema_cookie,*(int *)(puVar34 + 0x865ac) + -0x3128)" ( (field_expression "pSVar11->schema_cookie" identifier -> field_identifier) , (binary_expression "*(int *)(puVar34 + 0x865ac) + -0x3128" (pointer_expression "*(int *)(puVar34 + 0x865ac)" * (cast_expression "(int *)(puVar34 + 0x865ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x865ac)" ( (binary_expression "puVar34 + 0x865ac" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar22 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0010a8b0;" goto statement_identifier ;)))) (if_statement "if (cStack_69 == '\0') {\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }\n    else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }" if (parenthesized_expression "(cStack_69 == '\0')" ( (binary_expression "cStack_69 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;\n      uVar27 = 0;\n    }" { (if_statement "if (-1 < (int)pSStack_d0) goto LAB_0010a7a4;" if (parenthesized_expression "(-1 < (int)pSStack_d0)" ( (binary_expression "-1 < (int)pSStack_d0" number_literal < (cast_expression "(int)pSStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010a7a4;" goto statement_identifier ;)) (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }" else (compound_statement "{\n      if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }\n      if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }\n      uVar27 = 2;\n      if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }\n    }" { (if_statement "if (0 < (int)pCVar30[5].pUser) {\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }" if (parenthesized_expression "(0 < (int)pCVar30[5].pUser)" ( (binary_expression "0 < (int)pCVar30[5].pUser" number_literal < (cast_expression "(int)pCVar30[5].pUser" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar30[5].pUser" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n        *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;\n      }" { (expression_statement "*(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;" (assignment_expression "*(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4" (pointer_expression "*(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2)" * (cast_expression "(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2)" ( (binary_expression "*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2" (binary_expression "*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18" (pointer_expression "*(int *)&pCVar30[5].enc" * (cast_expression "(int *)&pCVar30[5].enc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCVar30[5].enc" & (field_expression "pCVar30[5].enc" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier)))) + (binary_expression "((int)pCVar30[5].pUser + -1) * 0x18" (parenthesized_expression "((int)pCVar30[5].pUser + -1)" ( (binary_expression "(int)pCVar30[5].pUser + -1" (cast_expression "(int)pCVar30[5].pUser" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar30[5].pUser" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier)) + number_literal) )) * number_literal)) + number_literal) )))) = number_literal) ;) })) (if_statement "if (-1 < (int)pSStack_d0) {\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }" if (parenthesized_expression "(-1 < (int)pSStack_d0)" ( (binary_expression "-1 < (int)pSStack_d0" number_literal < (cast_expression "(int)pSStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }\n      }" { (labeled_statement "LAB_0010a7a4:\n        if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }" statement_identifier : (if_statement "if (pSStack_d0 != iDataCur) {\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }" if (parenthesized_expression "(pSStack_d0 != iDataCur)" ( (binary_expression "pSStack_d0 != iDataCur" identifier != identifier) )) (compound_statement "{\n          (*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);\n        }" { (expression_statement "(*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0);" (call_expression "(*(code *)(iVar33 + 0x10fc))(pCVar30,0x7b,pSStack_d0,0,0)" (parenthesized_expression "(*(code *)(iVar33 + 0x10fc))" ( (pointer_expression "*(code *)(iVar33 + 0x10fc)" * (cast_expression "(code *)(iVar33 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar33 + 0x10fc)" ( (binary_expression "iVar33 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pCVar30,0x7b,pSStack_d0,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) })) (expression_statement "uVar27 = 2;" (assignment_expression "uVar27 = 2" identifier = number_literal) ;) (if_statement "if (cStack_69 != '\x02') {\n        uVar27 = 0;\n      }" if (parenthesized_expression "(cStack_69 != '\x02')" ( (binary_expression "cStack_69 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        uVar27 = 0;\n      }" { (expression_statement "uVar27 = 0;" (assignment_expression "uVar27 = 0" identifier = number_literal) ;) })) }))) (if_statement "if (0 < (int)pCVar30[5].pUser) {\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }" if (parenthesized_expression "(0 < (int)pCVar30[5].pUser)" ( (binary_expression "0 < (int)pCVar30[5].pUser" number_literal < (cast_expression "(int)pCVar30[5].pUser" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar30[5].pUser" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n      *(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;\n      p_Var18 = pParse_00->pVfs->xFullPathname;\n      goto joined_r0x0010a810;\n    }" { (expression_statement "*(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;" (assignment_expression "*(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27" (pointer_expression "*(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2)" * (cast_expression "(undefined2 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2)" ( (binary_expression "*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2" (binary_expression "*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18" (pointer_expression "*(int *)&pCVar30[5].enc" * (cast_expression "(int *)&pCVar30[5].enc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCVar30[5].enc" & (field_expression "pCVar30[5].enc" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier)))) + (binary_expression "((int)pCVar30[5].pUser + -1) * 0x18" (parenthesized_expression "((int)pCVar30[5].pUser + -1)" ( (binary_expression "(int)pCVar30[5].pUser + -1" (cast_expression "(int)pCVar30[5].pUser" ( (type_descriptor "int" primitive_type) ) (field_expression "pCVar30[5].pUser" (subscript_expression "pCVar30[5]" identifier [ number_literal ]) . field_identifier)) + number_literal) )) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "p_Var18 = pParse_00->pVfs->xFullPathname;" (assignment_expression "p_Var18 = pParse_00->pVfs->xFullPathname" identifier = (field_expression "pParse_00->pVfs->xFullPathname" (field_expression "pParse_00->pVfs" identifier -> field_identifier) -> field_identifier)) ;) (goto_statement "goto joined_r0x0010a810;" goto statement_identifier ;) })) })) (expression_statement "p_Var18 = pParse_00->pVfs->xFullPathname;" (assignment_expression "p_Var18 = pParse_00->pVfs->xFullPathname" identifier = (field_expression "pParse_00->pVfs->xFullPathname" (field_expression "pParse_00->pVfs" identifier -> field_identifier) -> field_identifier)) ;) (labeled_statement "joined_r0x0010a810:\n  if (((uint)p_Var18 & 0x4000) != 0) {\n    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);\n  }" statement_identifier : (if_statement "if (((uint)p_Var18 & 0x4000) != 0) {\n    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);\n  }" if (parenthesized_expression "(((uint)p_Var18 & 0x4000) != 0)" ( (binary_expression "((uint)p_Var18 & 0x4000) != 0" (parenthesized_expression "((uint)p_Var18 & 0x4000)" ( (binary_expression "(uint)p_Var18 & 0x4000" (cast_expression "(uint)p_Var18" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);\n  }" { (expression_statement "sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0);" (call_expression "sqlite3FkActions((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0)" identifier (argument_list "((Parse *)pParse_00,(Table *)pSVar11,(ExprList *)0x0,iVar19,(int *)0x0,0)" ( (cast_expression "(Parse *)pParse_00" ( (type_descriptor "Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(Table *)pSVar11" ( (type_descriptor "Table *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(ExprList *)0x0" ( (type_descriptor "ExprList *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal ))) ;) }))) (expression_statement "(*(code *)(iVar6 + -0x2cec))(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump);" (call_expression "(*(code *)(iVar6 + -0x2cec))(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump)" (parenthesized_expression "(*(code *)(iVar6 + -0x2cec))" ( (pointer_expression "*(code *)(iVar6 + -0x2cec)" * (cast_expression "(code *)(iVar6 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x2cec)" ( (binary_expression "iVar6 + -0x2cec" identifier + number_literal) )))) )) (argument_list "(pParse_00,pTrigger,0x75,0,2,pSVar11,iVar19,uVar14,ignoreJump)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) comment comment (expression_statement "(*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))(pCVar30,ignoreJump);" (call_expression "(*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))(pCVar30,ignoreJump)" (parenthesized_expression "(*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78))" ( (pointer_expression "*(code *)(*(int *)(puVar34 + 0x86810) + 0xd78)" * (cast_expression "(code *)(*(int *)(puVar34 + 0x86810) + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar34 + 0x86810) + 0xd78)" ( (binary_expression "*(int *)(puVar34 + 0x86810) + 0xd78" (pointer_expression "*(int *)(puVar34 + 0x86810)" * (cast_expression "(int *)(puVar34 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar34 + 0x86810)" ( (binary_expression "puVar34 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pCVar30,ignoreJump)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    \n                    \n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}\n\n" (function_definition "void FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    \n                    \n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}" primitive_type (function_declarator "FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)" identifier (parameter_list "(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)" ( (parameter_declaration "int ******param_1" primitive_type (pointer_declarator "******param_1" * (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))))))) , (parameter_declaration "int ******param_2" primitive_type (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier))))))) , (parameter_declaration "int ******param_3" primitive_type (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) , (parameter_declaration "int ******param_4" primitive_type (pointer_declarator "******param_4" * (pointer_declarator "*****param_4" * (pointer_declarator "****param_4" * (pointer_declarator "***param_4" * (pointer_declarator "**param_4" * (pointer_declarator "*param_4" * identifier))))))) , (parameter_declaration "int ******param_5" primitive_type (pointer_declarator "******param_5" * (pointer_declarator "*****param_5" * (pointer_declarator "****param_5" * (pointer_declarator "***param_5" * (pointer_declarator "**param_5" * (pointer_declarator "*param_5" * identifier))))))) , (parameter_declaration "int ******param_6" primitive_type (pointer_declarator "******param_6" * (pointer_declarator "*****param_6" * (pointer_declarator "****param_6" * (pointer_declarator "***param_6" * (pointer_declarator "**param_6" * (pointer_declarator "*param_6" * identifier))))))) ))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    \n                    \n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "short sVar4;" (sized_type_specifier "short" short) identifier ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int ******ppppppiVar8;" primitive_type (pointer_declarator "******ppppppiVar8" * (pointer_declarator "*****ppppppiVar8" * (pointer_declarator "****ppppppiVar8" * (pointer_declarator "***ppppppiVar8" * (pointer_declarator "**ppppppiVar8" * (pointer_declarator "*ppppppiVar8" * identifier)))))) ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "code *pcVar10;" type_identifier (pointer_declarator "*pcVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "int ******ppppppiVar12;" primitive_type (pointer_declarator "******ppppppiVar12" * (pointer_declarator "*****ppppppiVar12" * (pointer_declarator "****ppppppiVar12" * (pointer_declarator "***ppppppiVar12" * (pointer_declarator "**ppppppiVar12" * (pointer_declarator "*ppppppiVar12" * identifier)))))) ;) (declaration "int ******ppppppiVar13;" primitive_type (pointer_declarator "******ppppppiVar13" * (pointer_declarator "*****ppppppiVar13" * (pointer_declarator "****ppppppiVar13" * (pointer_declarator "***ppppppiVar13" * (pointer_declarator "**ppppppiVar13" * (pointer_declarator "*ppppppiVar13" * identifier)))))) ;) (declaration "code *pcVar14;" type_identifier (pointer_declarator "*pcVar14" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "int ****ppppiVar17;" primitive_type (pointer_declarator "****ppppiVar17" * (pointer_declarator "***ppppiVar17" * (pointer_declarator "**ppppiVar17" * (pointer_declarator "*ppppiVar17" * identifier)))) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int ******ppppppiVar23;" primitive_type (pointer_declarator "******ppppppiVar23" * (pointer_declarator "*****ppppppiVar23" * (pointer_declarator "****ppppppiVar23" * (pointer_declarator "***ppppppiVar23" * (pointer_declarator "**ppppppiVar23" * (pointer_declarator "*ppppppiVar23" * identifier)))))) ;) (declaration "undefined2 uVar24;" type_identifier identifier ;) (declaration "int ******ppppppiVar25;" primitive_type (pointer_declarator "******ppppppiVar25" * (pointer_declarator "*****ppppppiVar25" * (pointer_declarator "****ppppppiVar25" * (pointer_declarator "***ppppppiVar25" * (pointer_declarator "**ppppppiVar25" * (pointer_declarator "*ppppppiVar25" * identifier)))))) ;) (declaration "int ******ppppppiVar26;" primitive_type (pointer_declarator "******ppppppiVar26" * (pointer_declarator "*****ppppppiVar26" * (pointer_declarator "****ppppppiVar26" * (pointer_declarator "***ppppppiVar26" * (pointer_declarator "**ppppppiVar26" * (pointer_declarator "*ppppppiVar26" * identifier)))))) ;) (declaration "int ******ppppppiVar27;" primitive_type (pointer_declarator "******ppppppiVar27" * (pointer_declarator "*****ppppppiVar27" * (pointer_declarator "****ppppppiVar27" * (pointer_declarator "***ppppppiVar27" * (pointer_declarator "**ppppppiVar27" * (pointer_declarator "*ppppppiVar27" * identifier)))))) ;) (declaration "int *****pppppiVar28;" primitive_type (pointer_declarator "*****pppppiVar28" * (pointer_declarator "****pppppiVar28" * (pointer_declarator "***pppppiVar28" * (pointer_declarator "**pppppiVar28" * (pointer_declarator "*pppppiVar28" * identifier))))) ;) (declaration "int ******ppppppiVar29;" primitive_type (pointer_declarator "******ppppppiVar29" * (pointer_declarator "*****ppppppiVar29" * (pointer_declarator "****ppppppiVar29" * (pointer_declarator "***ppppppiVar29" * (pointer_declarator "**ppppppiVar29" * (pointer_declarator "*ppppppiVar29" * identifier)))))) ;) (declaration "int *****pppppiVar30;" primitive_type (pointer_declarator "*****pppppiVar30" * (pointer_declarator "****pppppiVar30" * (pointer_declarator "***pppppiVar30" * (pointer_declarator "**pppppiVar30" * (pointer_declarator "*pppppiVar30" * identifier))))) ;) (declaration "int *****pppppiVar31;" primitive_type (pointer_declarator "*****pppppiVar31" * (pointer_declarator "****pppppiVar31" * (pointer_declarator "***pppppiVar31" * (pointer_declarator "**pppppiVar31" * (pointer_declarator "*pppppiVar31" * identifier))))) ;) (declaration "int ******ppppppiVar32;" primitive_type (pointer_declarator "******ppppppiVar32" * (pointer_declarator "*****ppppppiVar32" * (pointer_declarator "****ppppppiVar32" * (pointer_declarator "***ppppppiVar32" * (pointer_declarator "**ppppppiVar32" * (pointer_declarator "*ppppppiVar32" * identifier)))))) ;) (declaration "undefined *puVar33;" type_identifier (pointer_declarator "*puVar33" * identifier) ;) (declaration "int *****pppppiStack_d0;" primitive_type (pointer_declarator "*****pppppiStack_d0" * (pointer_declarator "****pppppiStack_d0" * (pointer_declarator "***pppppiStack_d0" * (pointer_declarator "**pppppiStack_d0" * (pointer_declarator "*pppppiStack_d0" * identifier))))) ;) (declaration "int ******in_stack_ffffff80;" primitive_type (pointer_declarator "******in_stack_ffffff80" * (pointer_declarator "*****in_stack_ffffff80" * (pointer_declarator "****in_stack_ffffff80" * (pointer_declarator "***in_stack_ffffff80" * (pointer_declarator "**in_stack_ffffff80" * (pointer_declarator "*in_stack_ffffff80" * identifier)))))) ;) (declaration "int *****local_7c;" primitive_type (pointer_declarator "*****local_7c" * (pointer_declarator "****local_7c" * (pointer_declarator "***local_7c" * (pointer_declarator "**local_7c" * (pointer_declarator "*local_7c" * identifier))))) ;) (declaration "undefined4 local_78;" type_identifier identifier ;) (declaration "undefined1 uStack_71;" type_identifier identifier ;) (declaration "undefined1 uStack_6d;" type_identifier identifier ;) (declaration "char cStack_69;" primitive_type identifier ;) (declaration "int ****local_5c;" primitive_type (pointer_declarator "****local_5c" * (pointer_declarator "***local_5c" * (pointer_declarator "**local_5c" * (pointer_declarator "*local_5c" * identifier)))) ;) (declaration "int *****local_40;" primitive_type (pointer_declarator "*****local_40" * (pointer_declarator "****local_40" * (pointer_declarator "***local_40" * (pointer_declarator "**local_40" * (pointer_declarator "*local_40" * identifier))))) ;) (declaration "int *****local_38;" primitive_type (pointer_declarator "*****local_38" * (pointer_declarator "****local_38" * (pointer_declarator "***local_38" * (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier))))) ;) (declaration "int *****local_34;" primitive_type (pointer_declarator "*****local_34" * (pointer_declarator "****local_34" * (pointer_declarator "***local_34" * (pointer_declarator "**local_34" * (pointer_declarator "*local_34" * identifier))))) ;) (declaration "int *****local_30;" primitive_type (pointer_declarator "*****local_30" * (pointer_declarator "****local_30" * (pointer_declarator "***local_30" * (pointer_declarator "**local_30" * (pointer_declarator "*local_30" * identifier))))) ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar33 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar33 = PTR___stack_chk_guard_00190e24" identifier = identifier) ;) (expression_statement "ppppppiVar29 = (int ******)*param_1;" (assignment_expression "ppppppiVar29 = (int ******)*param_1" identifier = (cast_expression "(int ******)*param_1" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*param_1" * identifier))) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" * (cast_expression "(int *)PTR___stack_chk_guard_00190e24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar23 = param_2;" (assignment_expression "ppppppiVar23 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar27 = param_3;" (assignment_expression "ppppppiVar27 = param_3" identifier = identifier) ;) (expression_statement "ppppppiVar26 = param_4;" (assignment_expression "ppppppiVar26 = param_4" identifier = identifier) ;) (if_statement "if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" if (parenthesized_expression "(((uint)ppppppiVar29[9] & 0x4000) != 0)" ( (binary_expression "((uint)ppppppiVar29[9] & 0x4000) != 0" (parenthesized_expression "((uint)ppppppiVar29[9] & 0x4000)" ( (binary_expression "(uint)ppppppiVar29[9] & 0x4000" (cast_expression "(uint)ppppppiVar29[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppiVar29[9]" identifier [ number_literal ])) & number_literal) )) != number_literal) )) (compound_statement "{\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" { (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" identifier = (cast_expression "(int ******)param_2[0x12]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ]))) ;) (if_statement "if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" if (parenthesized_expression "(ppppppiVar26 == (int ******)0x0)" ( (binary_expression "ppppppiVar26 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }" { (expression_statement "iVar20 = -16000000;" (assignment_expression "iVar20 = -16000000" identifier = number_literal) ;) (expression_statement "iVar7 = -1000000;" (assignment_expression "iVar7 = -1000000" identifier = number_literal) ;) }) (else_clause "else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" else (compound_statement "{\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" { (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26)" identifier = (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" * (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" ( (binary_expression "PTR_LAB_00190ba4 + -0x31a4" identifier + number_literal) )))) )) (argument_list "(ppppppiVar29,ppppppiVar26)" ( identifier , identifier )))) ;) (expression_statement "iVar20 = iVar7 << 4;" (assignment_expression "iVar20 = iVar7 << 4" identifier = (binary_expression "iVar7 << 4" identifier << number_literal)) ;) }))) (expression_statement "puVar5 = PTR_LAB_00190ba8;" (assignment_expression "puVar5 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "cVar1 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar1 = *(char *)((int)param_1 + 0x8e)" identifier = (pointer_expression "*(char *)((int)param_1 + 0x8e)" * (cast_expression "(char *)((int)param_1 + 0x8e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x8e)" ( (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "ppppppiVar32 = (int ******)param_2[4];" (assignment_expression "ppppppiVar32 = (int ******)param_2[4]" identifier = (cast_expression "(int ******)param_2[4]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[4]" identifier [ number_literal ]))) ;) (expression_statement "ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);" (assignment_expression "ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20)" identifier = (pointer_expression "*(int *******)((int)ppppppiVar29[4] + iVar20)" * (cast_expression "(int *******)((int)ppppppiVar29[4] + iVar20)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)ppppppiVar29[4] + iVar20)" ( (binary_expression "(int)ppppppiVar29[4] + iVar20" (cast_expression "(int)ppppppiVar29[4]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar29[4]" identifier [ number_literal ])) + identifier) ))))) ;) (if_statement "if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }" if (parenthesized_expression "(ppppppiVar32 != (int ******)0x0)" ( (binary_expression "ppppppiVar32 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }" { (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" ( (binary_expression "PTR_LAB_00190bc4 + -0x729c" identifier + number_literal) )))) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xb3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0xb3c)" ( (binary_expression "PTR_LAB_00190bc0 + 0xb3c" identifier + number_literal) )))) ;) (expression_statement "pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);" (assignment_expression "pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bcc + -0x6e1c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bcc + -0x6e1c)" ( (binary_expression "PTR_LAB_00190bcc + -0x6e1c" identifier + number_literal) )))) ;) (do_statement "do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);" do (compound_statement "{\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      }" { (while_statement "while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }" { (expression_statement "local_34 = (int *****)0x0;" (assignment_expression "local_34 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "local_38 = (int *****)0x0;" (assignment_expression "local_38 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppppiVar27 = (int ******)ppppppiVar32[2];" (assignment_expression "ppppppiVar27 = (int ******)ppppppiVar32[2]" identifier = (cast_expression "(int ******)ppppppiVar32[2]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[2]" identifier [ number_literal ]))) ;) (if_statement "if (param_5 == (int ******)0x0) break;" if (parenthesized_expression "(param_5 == (int ******)0x0)" ( (binary_expression "param_5 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "ppppppiVar12 = ppppppiVar27;" (assignment_expression "ppppppiVar12 = ppppppiVar27" identifier = identifier) ;) (if_statement "if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" if (parenthesized_expression "(*param_2 == (int *****)0x0)" ( (binary_expression "*param_2 == (int *****)0x0" (pointer_expression "*param_2" * identifier) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }" { (labeled_statement "joined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;" statement_identifier : (if_statement "if (ppppppiVar12 == (int ******)0x0) break;" if (parenthesized_expression "(ppppppiVar12 == (int ******)0x0)" ( (binary_expression "ppppppiVar12 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (break_statement "break;" break ;))) }) (else_clause "else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" else (if_statement "if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" if (parenthesized_expression "(ppppppiVar27 != (int ******)0x0)" ( (binary_expression "ppppppiVar27 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" { (expression_statement "ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;" (assignment_expression "ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" identifier = (cast_expression "(int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x20c8)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x20c8)" ( (binary_expression "PTR_LAB_00190ba8 + 0x20c8" identifier + number_literal) )))) )) (argument_list "(*param_2,ppppppiVar27)" ( (pointer_expression "*param_2" * identifier) , identifier ))))) ;) (goto_statement "goto joined_r0x00109ec0;" goto statement_identifier ;) })))) (if_statement "if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }" if (parenthesized_expression "(0 < (int)ppppppiVar32[5])" ( (binary_expression "0 < (int)ppppppiVar32[5]" number_literal < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) (compound_statement "{\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }" { (expression_statement "ppppppiVar12 = (int ******)ppppppiVar32[9];" (assignment_expression "ppppppiVar12 = (int ******)ppppppiVar32[9]" identifier = (cast_expression "(int ******)ppppppiVar32[9]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[9]" identifier [ number_literal ]))) ;) (expression_statement "ppppppiVar23 = ppppppiVar32 + 0xb;" (assignment_expression "ppppppiVar23 = ppppppiVar32 + 0xb" identifier = (binary_expression "ppppppiVar32 + 0xb" identifier + number_literal)) ;) (if_statement "if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }" if (parenthesized_expression "((int)param_5[(int)ppppppiVar12] < 0)" ( (binary_expression "(int)param_5[(int)ppppppiVar12] < 0" (cast_expression "(int)param_5[(int)ppppppiVar12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_5[(int)ppppppiVar12]" identifier [ (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) ])) < number_literal) )) (compound_statement "{\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }" { (expression_statement "ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);" (assignment_expression "ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10)" identifier = (cast_expression "(int ******)(int)*(short *)(param_2 + 10)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (cast_expression "(int)*(short *)(param_2 + 10)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(param_2 + 10)" * (cast_expression "(short *)(param_2 + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) ))))))) ;) (expression_statement "pppppiVar28 = (int *****)0x0;" (assignment_expression "pppppiVar28 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (do_statement "do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);" do (compound_statement "{\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              }" { (if_statement "if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }" if (parenthesized_expression "((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0))" ( (binary_expression "(ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)" (parenthesized_expression "(ppppppiVar26 == ppppppiVar12)" ( (binary_expression "ppppppiVar26 == ppppppiVar12" identifier == identifier) )) && (parenthesized_expression "(param_6 != (int ******)0x0)" ( (binary_expression "param_6 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) )) (compound_statement "{\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }" { (expression_statement "cVar2 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar2 = *(char *)((int)param_1 + 0x8e)" identifier = (pointer_expression "*(char *)((int)param_1 + 0x8e)" * (cast_expression "(char *)((int)param_1 + 0x8e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x8e)" ( (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto LAB_00109d04;" goto statement_identifier ;) })) (expression_statement "pppppiVar28 = (int *****)((int)pppppiVar28 + 1);" (assignment_expression "pppppiVar28 = (int *****)((int)pppppiVar28 + 1)" identifier = (cast_expression "(int *****)((int)pppppiVar28 + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar28 + 1)" ( (binary_expression "(int)pppppiVar28 + 1" (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;" if (parenthesized_expression "(pppppiVar28 == ppppppiVar32[5])" ( (binary_expression "pppppiVar28 == ppppppiVar32[5]" identifier == (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ])) )) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;)) (expression_statement "ppppppiVar12 = (int ******)*ppppppiVar23;" (assignment_expression "ppppppiVar12 = (int ******)*ppppppiVar23" identifier = (cast_expression "(int ******)*ppppppiVar23" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppiVar23" * identifier))) ;) (expression_statement "ppppppiVar23 = ppppppiVar23 + 2;" (assignment_expression "ppppppiVar23 = ppppppiVar23 + 2" identifier = (binary_expression "ppppppiVar23 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)param_5[(int)ppppppiVar12] < 0)" ( (binary_expression "(int)param_5[(int)ppppppiVar12] < 0" (cast_expression "(int)param_5[(int)ppppppiVar12]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_5[(int)ppppppiVar12]" identifier [ (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) ])) < number_literal) )) ;) })) (break_statement "break;" break ;) })) (labeled_statement "LAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];" statement_identifier : (expression_statement "ppppppiVar32 = (int ******)ppppppiVar32[1];" (assignment_expression "ppppppiVar32 = (int ******)ppppppiVar32[1]" identifier = (cast_expression "(int ******)ppppppiVar32[1]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[1]" identifier [ number_literal ]))) ;)) (if_statement "if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }" if (parenthesized_expression "(ppppppiVar32 == (int ******)0x0)" ( (binary_expression "ppppppiVar32 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }" { (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" identifier = (cast_expression "(int ******)param_2[0x12]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_00109d88;" goto statement_identifier ;) })) })) (expression_statement "cVar2 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar2 = *(char *)((int)param_1 + 0x8e)" identifier = (pointer_expression "*(char *)((int)param_1 + 0x8e)" * (cast_expression "(char *)((int)param_1 + 0x8e)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_1 + 0x8e)" ( (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (labeled_statement "LAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" statement_identifier : (if_statement "if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }" { (expression_statement "ppppppiVar23 = (int ******)0x0;" (assignment_expression "ppppppiVar23 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar26 = ppppppiVar8;" (assignment_expression "ppppppiVar26 = ppppppiVar8" identifier = identifier) ;) (expression_statement "ppppppiVar13 = (int ******)FUN_001083a4();" (assignment_expression "ppppppiVar13 = (int ******)FUN_001083a4()" identifier = (cast_expression "(int ******)FUN_001083a4()" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "FUN_001083a4()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" else (compound_statement "{\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" { (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" identifier = identifier) ;) (expression_statement "ppppppiVar25 = ppppppiVar8;" (assignment_expression "ppppppiVar25 = ppppppiVar8" identifier = identifier) ;) (expression_statement "ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();" (assignment_expression "ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" identifier = (cast_expression "(int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))" ( (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x218c)" * (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x218c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190ba8 + 0x218c)" ( (binary_expression "PTR_LAB_00190ba8 + 0x218c" identifier + number_literal) )))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppppiVar23 = ppppppiVar27;" (assignment_expression "ppppppiVar23 = ppppppiVar27" identifier = identifier) ;) (expression_statement "ppppppiVar27 = ppppppiVar25;" (assignment_expression "ppppppiVar27 = ppppppiVar25" identifier = identifier) ;) })))) (expression_statement "ppppppiVar25 = &local_34;" (assignment_expression "ppppppiVar25 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (if_statement "if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" if (parenthesized_expression "(ppppppiVar13 == (int ******)0x0)" ( (binary_expression "ppppppiVar13 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" { (labeled_statement "LAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" statement_identifier : (if_statement "if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" if (parenthesized_expression "((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0'))" ( (binary_expression "(cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)((int)ppppppiVar29 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)ppppppiVar29 + 0x51) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar29 + 0x51)" * (cast_expression "(char *)((int)ppppppiVar29 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar29 + 0x51)" ( (binary_expression "(int)ppppppiVar29 + 0x51" (cast_expression "(int)ppppppiVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" { (if_statement "if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }" if (parenthesized_expression "(ppppppiVar13 == (int ******)0x0)" ( (binary_expression "ppppppiVar13 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }" { (expression_statement "local_5c = (int ****)param_1[2];" (assignment_expression "local_5c = (int ****)param_1[2]" identifier = (cast_expression "(int ****)param_1[2]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) ;) (if_statement "if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }" if (parenthesized_expression "((int *****)local_5c == (int *****)0x0)" ( (binary_expression "(int *****)local_5c == (int *****)0x0" (cast_expression "(int *****)local_5c" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }" { (expression_statement "local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);" (assignment_expression "local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" identifier = (cast_expression "(int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" * (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" ( (binary_expression "PTR_LAB_00190bc0 + 0x1274" identifier + number_literal) )))) )) (argument_list "(param_1)" ( identifier ))))) ;) })) (expression_statement "puVar6 = PTR_LAB_00190bc0;" (assignment_expression "puVar6 = PTR_LAB_00190bc0" identifier = identifier) ;) (expression_statement "pppppiVar28 = ppppppiVar32[5];" (assignment_expression "pppppiVar28 = ppppppiVar32[5]" identifier = (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ])) ;) (expression_statement "ppppiVar17 = (int ****)local_5c[0x1b];" (assignment_expression "ppppiVar17 = (int ****)local_5c[0x1b]" identifier = (cast_expression "(int ****)local_5c[0x1b]" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (subscript_expression "local_5c[0x1b]" identifier [ number_literal ]))) ;) (if_statement "if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }" if (parenthesized_expression "(0 < (int)pppppiVar28)" ( (binary_expression "0 < (int)pppppiVar28" number_literal < (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }" { (expression_statement "ppppppiVar27 = ppppppiVar32 + 9;" (assignment_expression "ppppppiVar27 = ppppppiVar32 + 9" identifier = (binary_expression "ppppppiVar32 + 9" identifier + number_literal)) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" ( (binary_expression "PTR_LAB_00190bc0 + 0x10fc" identifier + number_literal) )))) ;) (do_statement "do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);" do (compound_statement "{\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                }" { (expression_statement "pppppiVar30 = *ppppppiVar27;" (assignment_expression "pppppiVar30 = *ppppppiVar27" identifier = (pointer_expression "*ppppppiVar27" * identifier)) ;) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "ppppppiVar27 = ppppppiVar27 + 2;" (assignment_expression "ppppppiVar27 = ppppppiVar27 + 2" identifier = (binary_expression "ppppppiVar27 + 2" identifier + number_literal)) ;) (expression_statement "(*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);" (call_expression "(*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0)" (parenthesized_expression "(*pcVar14)" ( (pointer_expression "*pcVar14" * identifier) )) (argument_list "(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0)" ( identifier , number_literal , (cast_expression "(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_3 + (int)pppppiVar30 + 1)" ( (binary_expression "(int)param_3 + (int)pppppiVar30 + 1" (binary_expression "(int)param_3 + (int)pppppiVar30" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppiVar30" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ))) , (binary_expression "(int)pppppiVar28 + (int)ppppiVar17 + 1" (binary_expression "(int)pppppiVar28 + (int)ppppiVar17" (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppiVar17" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) , number_literal ))) ;) }) while (parenthesized_expression "(iVar20 < (int)ppppppiVar32[5])" ( (binary_expression "iVar20 < (int)ppppppiVar32[5]" identifier < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) ;) })) (expression_statement "local_40 = (int *****)(puVar6 + 0x10fc);" (assignment_expression "local_40 = (int *****)(puVar6 + 0x10fc)" identifier = (cast_expression "(int *****)(puVar6 + 0x10fc)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar6 + 0x10fc)" ( (binary_expression "puVar6 + 0x10fc" identifier + number_literal) )))) ;) (expression_statement "ppppppiVar26 = (int ******)0xffffffff;" (assignment_expression "ppppppiVar26 = (int ******)0xffffffff" identifier = (cast_expression "(int ******)0xffffffff" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "in_stack_ffffff80 = (int ******)0x0;" (assignment_expression "in_stack_ffffff80 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));" (call_expression "(*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6))" (parenthesized_expression "(*(code *)local_40)" ( (pointer_expression "*(code *)local_40" * (cast_expression "(code *)local_40" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6))" ( identifier , number_literal , (pointer_expression "*(undefined1 *)(ppppppiVar32 + 6)" * (cast_expression "(undefined1 *)(ppppppiVar32 + 6)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar32 + 6)" ( (binary_expression "ppppppiVar32 + 6" identifier + number_literal) )))) ))) ;) })) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;) }))) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;) })) (expression_statement "ppppppiVar26 = &local_38;" (assignment_expression "ppppppiVar26 = &local_38" identifier = (pointer_expression "&local_38" & identifier)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar23 = ppppppiVar13;" (assignment_expression "ppppppiVar23 = ppppppiVar13" identifier = identifier) ;) (expression_statement "ppppppiVar27 = ppppppiVar32;" (assignment_expression "ppppppiVar27 = ppppppiVar32" identifier = identifier) ;) (expression_statement "iVar20 = (*pcVar9)();" (assignment_expression "iVar20 = (*pcVar9)()" identifier = (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar25;" (assignment_expression "in_stack_ffffff80 = ppppppiVar25" identifier = identifier) ;) (if_statement "if (iVar20 != 0) goto LAB_00109d58;" if (parenthesized_expression "(iVar20 != 0)" ( (binary_expression "iVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00109d58;" goto statement_identifier ;)) (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" identifier = identifier) ;) (if_statement "if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }" if (parenthesized_expression "((int ******)local_34 == (int ******)0x0)" ( (binary_expression "(int ******)local_34 == (int ******)0x0" (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }" { (expression_statement "local_30 = ppppppiVar32[9];" (assignment_expression "local_30 = ppppppiVar32[9]" identifier = (subscript_expression "ppppppiVar32[9]" identifier [ number_literal ])) ;) (expression_statement "local_40 = (int *****)&local_30;" (assignment_expression "local_40 = (int *****)&local_30" identifier = (cast_expression "(int *****)&local_30" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&local_30" & identifier))) ;) })) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (expression_statement "ppppppiVar27 = (int ******)local_40;" (assignment_expression "ppppppiVar27 = (int ******)local_40" identifier = (cast_expression "(int ******)local_40" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }" if (parenthesized_expression "(0 < (int)ppppppiVar32[5])" ( (binary_expression "0 < (int)ppppppiVar32[5]" number_literal < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) (compound_statement "{\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }" { (do_statement "do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);" do (compound_statement "{\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          }" { (if_statement "if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }" if (parenthesized_expression "(*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10))" ( (binary_expression "*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)" (pointer_expression "*ppppppiVar27" * identifier) == (cast_expression "(int *****)(int)*(short *)(param_2 + 10)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(int)*(short *)(param_2 + 10)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)(param_2 + 10)" * (cast_expression "(short *)(param_2 + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) ))))))) )) (compound_statement "{\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }" { (expression_statement "*ppppppiVar27 = (int *****)0xffffffff;" (assignment_expression "*ppppppiVar27 = (int *****)0xffffffff" (pointer_expression "*ppppppiVar27" * identifier) = (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (if_statement "if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }" if (parenthesized_expression "(ppppppiVar29[0x50] != (int *****)0x0)" ( (binary_expression "ppppppiVar29[0x50] != (int *****)0x0" (subscript_expression "ppppppiVar29[0x50]" identifier [ number_literal ]) != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }" { (if_statement "if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" if (parenthesized_expression "((int ******)local_38 == (int ******)0x0)" ( (binary_expression "(int ******)local_38 == (int ******)0x0" (cast_expression "(int ******)local_38" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }" { (expression_statement "sVar4 = *(short *)(ppppppiVar13 + 10);" (assignment_expression "sVar4 = *(short *)(ppppppiVar13 + 10)" identifier = (pointer_expression "*(short *)(ppppppiVar13 + 10)" * (cast_expression "(short *)(ppppppiVar13 + 10)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar13 + 10)" ( (binary_expression "ppppppiVar13 + 10" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" else (compound_statement "{\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" { (expression_statement "sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);" (assignment_expression "sVar4 = *(short *)((int)local_38[1] + iVar20 * 2)" identifier = (pointer_expression "*(short *)((int)local_38[1] + iVar20 * 2)" * (cast_expression "(short *)((int)local_38[1] + iVar20 * 2)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_38[1] + iVar20 * 2)" ( (binary_expression "(int)local_38[1] + iVar20 * 2" (cast_expression "(int)local_38[1]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "local_38[1]" identifier [ number_literal ])) + (binary_expression "iVar20 * 2" identifier * number_literal)) ))))) ;) }))) (expression_statement "iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);" (assignment_expression "iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" identifier = (call_expression "(*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" ( identifier , (pointer_expression "*ppppppiVar13" * identifier) , (subscript_expression "ppppppiVar13[1][sVar4 * 4]" (subscript_expression "ppppppiVar13[1]" identifier [ number_literal ]) [ (binary_expression "sVar4 * 4" identifier * number_literal) ]) , identifier )))) ;) (expression_statement "bVar19 = iVar22 == 2;" (assignment_expression "bVar19 = iVar22 == 2" identifier = (binary_expression "iVar22 == 2" identifier == number_literal)) ;) })) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" identifier = (binary_expression "iVar20 + 1" identifier + number_literal)) ;) (expression_statement "ppppppiVar27 = ppppppiVar27 + 1;" (assignment_expression "ppppppiVar27 = ppppppiVar27 + 1" identifier = (binary_expression "ppppppiVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar20 < (int)ppppppiVar32[5])" ( (binary_expression "iVar20 < (int)ppppppiVar32[5]" identifier < (cast_expression "(int)ppppppiVar32[5]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar32[5]" identifier [ number_literal ]))) )) ;) })) (expression_statement "in_stack_ffffff80 = (int ******)*ppppppiVar13;" (assignment_expression "in_stack_ffffff80 = (int ******)*ppppppiVar13" identifier = (cast_expression "(int ******)*ppppppiVar13" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*ppppppiVar13" * identifier))) ;) (expression_statement "ppppppiVar26 = (int ******)0x0;" (assignment_expression "ppppppiVar26 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "(*pcVar10)(param_1,iVar7,ppppppiVar13[7]);" (call_expression "(*pcVar10)(param_1,iVar7,ppppppiVar13[7])" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(param_1,iVar7,ppppppiVar13[7])" ( identifier , identifier , (subscript_expression "ppppppiVar13[7]" identifier [ number_literal ]) ))) ;) (expression_statement "param_1[10] = (int *****)((int)param_1[10] + 1);" (assignment_expression "param_1[10] = (int *****)((int)param_1[10] + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int *****)((int)param_1[10] + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)param_1[10] + 1)" ( (binary_expression "(int)param_1[10] + 1" (cast_expression "(int)param_1[10]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[10]" identifier [ number_literal ])) + number_literal) )))) ;) (if_statement "if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }" if (parenthesized_expression "(param_3 != (int ******)0x0)" ( (binary_expression "param_3 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }" { (expression_statement "uStack_71 = 0xff;" (assignment_expression "uStack_71 = 0xff" identifier = number_literal) ;) (expression_statement "local_7c = local_40;" (assignment_expression "local_7c = local_40" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_38;" (assignment_expression "ppppppiVar26 = (int ******)local_38" identifier = (cast_expression "(int ******)local_38" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar32;" (assignment_expression "in_stack_ffffff80 = ppppppiVar32" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" ( (binary_expression "PTR_LAB_00190bc4 + 0x45fc" identifier + number_literal) )))) )) (argument_list "(param_1,iVar7,ppppppiVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = param_3;" (assignment_expression "local_78 = param_3" identifier = identifier) ;) (expression_statement "uStack_6d = bVar19;" (assignment_expression "uStack_6d = bVar19" identifier = identifier) ;) })) (if_statement "if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }" if (parenthesized_expression "(param_4 != (int ******)0x0)" ( (binary_expression "param_4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }" { (expression_statement "ppppppiVar27 = (int ******)param_1[0x1d];" (assignment_expression "ppppppiVar27 = (int ******)param_1[0x1d]" identifier = (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }" if (parenthesized_expression "((int ******)param_1[0x1d] == (int ******)0x0)" ( (binary_expression "(int ******)param_1[0x1d] == (int ******)0x0" (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            ppppppiVar27 = param_1;\n          }" { (expression_statement "ppppppiVar27 = param_1;" (assignment_expression "ppppppiVar27 = param_1" identifier = identifier) ;) })) (if_statement "if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }" if (parenthesized_expression "((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))" ( (binary_expression "(ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))))" (parenthesized_expression "(ppppppiVar27[0x40] == (int *****)0x0)" ( (binary_expression "ppppppiVar27[0x40] == (int *****)0x0" (subscript_expression "ppppppiVar27[0x40]" identifier [ number_literal ]) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) || (parenthesized_expression "(((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))))" ( (parenthesized_expression "((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))" ( (binary_expression "(pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))" (parenthesized_expression "(pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b'))" ( (comma_expression "pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (assignment_expression "pppppiVar28 = (int *****)*ppppppiVar27[0x40]" identifier = (cast_expression "(int *****)*ppppppiVar27[0x40]" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "*ppppppiVar27[0x40]" * (subscript_expression "ppppppiVar27[0x40]" identifier [ number_literal ])))) , (binary_expression "pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (binary_expression "pppppiVar28 != ppppppiVar32[7]" identifier != (subscript_expression "ppppppiVar32[7]" identifier [ number_literal ])) || (parenthesized_expression "(*(char *)((int)ppppppiVar32 + 0x19) != '\b')" ( (binary_expression "*(char *)((int)ppppppiVar32 + 0x19) != '\b'" (pointer_expression "*(char *)((int)ppppppiVar32 + 0x19)" * (cast_expression "(char *)((int)ppppppiVar32 + 0x19)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar32 + 0x19)" ( (binary_expression "(int)ppppppiVar32 + 0x19" (cast_expression "(int)ppppppiVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\b'" ' escape_sequence ')) )))) )) && (parenthesized_expression "((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))" ( (parenthesized_expression "(pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))" ( (binary_expression "pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')" (binary_expression "pppppiVar28 != ppppppiVar32[8]" identifier != (subscript_expression "ppppppiVar32[8]" identifier [ number_literal ])) || (parenthesized_expression "(*(char *)((int)ppppppiVar32 + 0x1a) != '\b')" ( (binary_expression "*(char *)((int)ppppppiVar32 + 0x1a) != '\b'" (pointer_expression "*(char *)((int)ppppppiVar32 + 0x1a)" * (cast_expression "(char *)((int)ppppppiVar32 + 0x1a)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar32 + 0x1a)" ( (binary_expression "(int)ppppppiVar32 + 0x1a" (cast_expression "(int)ppppppiVar32" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\b'" ' escape_sequence ')) ))) )) ))) )) ))) )) (compound_statement "{\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }" { (expression_statement "uStack_71 = 1;" (assignment_expression "uStack_71 = 1" identifier = number_literal) ;) (expression_statement "local_7c = local_40;" (assignment_expression "local_7c = local_40" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_38;" (assignment_expression "ppppppiVar26 = (int ******)local_38" identifier = (cast_expression "(int ******)local_38" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar32;" (assignment_expression "in_stack_ffffff80 = ppppppiVar32" identifier = identifier) ;) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" ( (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" * (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" ( (binary_expression "PTR_LAB_00190bc4 + 0x45fc" identifier + number_literal) )))) )) (argument_list "(param_1,iVar7,ppppppiVar13)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) (expression_statement "uStack_6d = bVar19;" (assignment_expression "uStack_6d = bVar19" identifier = identifier) ;) })) })) (if_statement "if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;" if (parenthesized_expression "((int ******)local_34 == (int ******)0x0)" ( (binary_expression "(int ******)local_34 == (int ******)0x0" (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00109d78;" goto statement_identifier ;)) (expression_statement "(*(code *)(puVar5 + -0x2368))(ppppppiVar29);" (call_expression "(*(code *)(puVar5 + -0x2368))(ppppppiVar29)" (parenthesized_expression "(*(code *)(puVar5 + -0x2368))" ( (pointer_expression "*(code *)(puVar5 + -0x2368)" * (cast_expression "(code *)(puVar5 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2368)" ( (binary_expression "puVar5 + -0x2368" identifier + number_literal) )))) )) (argument_list "(ppppppiVar29)" ( identifier ))) ;) (expression_statement "ppppppiVar32 = (int ******)ppppppiVar32[1];" (assignment_expression "ppppppiVar32 = (int ******)ppppppiVar32[1]" identifier = (cast_expression "(int ******)ppppppiVar32[1]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar32[1]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(ppppppiVar32 != (int ******)0x0)" ( (binary_expression "ppppppiVar32 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" identifier = (cast_expression "(int ******)param_2[0x12]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_2[0x12]" identifier [ number_literal ]))) ;) })) (labeled_statement "LAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;" statement_identifier : (expression_statement "ppppppiVar27 = (int ******)0x0;" (assignment_expression "ppppppiVar27 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;)) (expression_statement "ppppppiVar23 = (int ******)*param_2;" (assignment_expression "ppppppiVar23 = (int ******)*param_2" identifier = (cast_expression "(int ******)*param_2" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (pointer_expression "*param_2" * identifier))) ;) (expression_statement "ppppppiVar12 = ppppppiVar26 + 0xe;" (assignment_expression "ppppppiVar12 = ppppppiVar26 + 0xe" identifier = (binary_expression "ppppppiVar26 + 0xe" identifier + number_literal)) ;) (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))()" identifier = (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))" ( (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x16c)" * (cast_expression "(code *)(PTR_LAB_00190b40 + 0x16c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0x16c)" ( (binary_expression "PTR_LAB_00190b40 + 0x16c" identifier + number_literal) )))) )) (argument_list "()" ( )))) ;) (expression_statement "puVar5 = PTR_LAB_00190ba8;" (assignment_expression "puVar5 = PTR_LAB_00190ba8" identifier = identifier) ;) (expression_statement "ppppppiVar8 = *(int *******)(iVar7 + 8);" (assignment_expression "ppppppiVar8 = *(int *******)(iVar7 + 8)" identifier = (pointer_expression "*(int *******)(iVar7 + 8)" * (cast_expression "(int *******)(iVar7 + 8)" ( (type_descriptor "int *******" primitive_type (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))))) ;) (if_statement "if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" if (parenthesized_expression "(ppppppiVar8 != (int ******)0x0)" ( (binary_expression "ppppppiVar8 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" { (expression_statement "pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" ( (binary_expression "PTR_LAB_00190bc4 + -0x729c" identifier + number_literal) )))) ;) (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194)" identifier = (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x4194)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bc4 + -0x4194)" ( (binary_expression "PTR_LAB_00190bc4 + -0x4194" identifier + number_literal) )))) ;) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c)" identifier = (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" ( (binary_expression "PTR_LAB_00190bb8 + -0x210c" identifier + number_literal) )))) ;) (labeled_statement "LAB_00109dd8:\n      local_34 = (int *****)0x0;" statement_identifier : (expression_statement "local_34 = (int *****)0x0;" (assignment_expression "local_34 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "local_30 = (int *****)0x0;" (assignment_expression "local_30 = (int *****)0x0" identifier = (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }" if (parenthesized_expression "((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0))" ( (binary_expression "(param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)" (parenthesized_expression "(param_5 == (int ******)0x0)" ( (binary_expression "param_5 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)" ( (comma_expression "ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar12 = param_2" identifier = identifier) , (comma_expression "ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar23 = ppppppiVar8" identifier = identifier) , (comma_expression "ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar27 = param_5" identifier = identifier) , (comma_expression "ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar26 = param_6" identifier = identifier) , (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))()" identifier = (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))" ( (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x25dc)" * (cast_expression "(code *)(PTR_LAB_00190b40 + 0x25dc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_00190b40 + 0x25dc)" ( (binary_expression "PTR_LAB_00190b40 + 0x25dc" identifier + number_literal) )))) )) (argument_list "()" ( )))) , (binary_expression "iVar7 != 0" identifier != number_literal)))))) ))) )) (compound_statement "{\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }" { (if_statement "if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }" if (parenthesized_expression "((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0'))))" ( (binary_expression "(*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))" (parenthesized_expression "(*(char *)(ppppppiVar8 + 6) == '\0')" ( (binary_expression "*(char *)(ppppppiVar8 + 6) == '\0'" (pointer_expression "*(char *)(ppppppiVar8 + 6)" * (cast_expression "(char *)(ppppppiVar8 + 6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar8 + 6)" ( (binary_expression "ppppppiVar8 + 6" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))" ( (parenthesized_expression "((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0'))" ( (binary_expression "(-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')" (parenthesized_expression "(-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0))" ( (binary_expression "-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)" (binary_expression "-1 < (int)ppppppiVar29[9] << 0xc" number_literal < (binary_expression "(int)ppppppiVar29[9] << 0xc" (cast_expression "(int)ppppppiVar29[9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar29[9]" identifier [ number_literal ])) << number_literal)) && (parenthesized_expression "(param_1[0x1d] == (int *****)0x0)" ( (binary_expression "param_1[0x1d] == (int *****)0x0" (subscript_expression "param_1[0x1d]" identifier [ number_literal ]) == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) && (parenthesized_expression "(*(char *)(param_1 + 5) == '\0')" ( (binary_expression "*(char *)(param_1 + 5) == '\0'" (pointer_expression "*(char *)(param_1 + 5)" * (cast_expression "(char *)(param_1 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 5)" ( (binary_expression "param_1 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }" { (expression_statement "ppppppiVar8 = (int ******)ppppppiVar8[3];" (assignment_expression "ppppppiVar8 = (int ******)ppppppiVar8[3]" identifier = (cast_expression "(int ******)ppppppiVar8[3]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar8[3]" identifier [ number_literal ]))) ;) (goto_statement "goto LAB_0010a250;" goto statement_identifier ;) })) (expression_statement "in_stack_ffffff80 = &local_30;" (assignment_expression "in_stack_ffffff80 = &local_30" identifier = (pointer_expression "&local_30" & identifier)) ;) (expression_statement "ppppppiVar26 = &local_34;" (assignment_expression "ppppppiVar26 = &local_34" identifier = (pointer_expression "&local_34" & identifier)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "ppppppiVar23 = param_2;" (assignment_expression "ppppppiVar23 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar27 = ppppppiVar8;" (assignment_expression "ppppppiVar27 = ppppppiVar8" identifier = identifier) ;) (expression_statement "iVar7 = (*pcVar11)();" (assignment_expression "iVar7 = (*pcVar11)()" identifier = (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" { (if_statement "if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;" if (parenthesized_expression "((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0'))" ( (binary_expression "(cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (parenthesized_expression "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)((int)ppppppiVar29 + 0x51) == '\0')" ( (binary_expression "*(char *)((int)ppppppiVar29 + 0x51) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar29 + 0x51)" * (cast_expression "(char *)((int)ppppppiVar29 + 0x51)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar29 + 0x51)" ( (binary_expression "(int)ppppppiVar29 + 0x51" (cast_expression "(int)ppppppiVar29" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (goto_statement "goto LAB_0010a24c;" goto statement_identifier ;)) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;) })) (expression_statement "ppppppiVar26 = (int ******)0x0;" (assignment_expression "ppppppiVar26 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar27 = (int ******)0x0;" (assignment_expression "ppppppiVar27 = (int ******)0x0" identifier = (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) (expression_statement "iVar7 = (*pcVar9)(param_1,0);" (assignment_expression "iVar7 = (*pcVar9)(param_1,0)" identifier = (call_expression "(*pcVar9)(param_1,0)" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "(param_1,0)" ( identifier , number_literal )))) ;) (if_statement "if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }" { (expression_statement "pppppiVar28 = *ppppppiVar8;" (assignment_expression "pppppiVar28 = *ppppppiVar8" identifier = (pointer_expression "*ppppppiVar8" * identifier)) ;) (expression_statement "*(int ******)(iVar7 + 0x18) = pppppiVar28;" (assignment_expression "*(int ******)(iVar7 + 0x18) = pppppiVar28" (pointer_expression "*(int ******)(iVar7 + 0x18)" * (cast_expression "(int ******)(iVar7 + 0x18)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *****)(iVar7 + 0x10) = *pppppiVar28;" (assignment_expression "*(int *****)(iVar7 + 0x10) = *pppppiVar28" (pointer_expression "*(int *****)(iVar7 + 0x10)" * (cast_expression "(int *****)(iVar7 + 0x10)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = (pointer_expression "*pppppiVar28" * identifier)) ;) (expression_statement "pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);" (assignment_expression "pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1)" (subscript_expression "pppppiVar28[8]" identifier [ number_literal ]) = (cast_expression "(int ****)((int)pppppiVar28[8] + 1)" ( (type_descriptor "int ****" primitive_type (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)pppppiVar28[8] + 1)" ( (binary_expression "(int)pppppiVar28[8] + 1" (cast_expression "(int)pppppiVar28[8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[8]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "pppppiVar28 = param_1[10];" (assignment_expression "pppppiVar28 = param_1[10]" identifier = (subscript_expression "param_1[10]" identifier [ number_literal ])) ;) (expression_statement "param_1[10] = (int *****)((int)pppppiVar28 + 1);" (assignment_expression "param_1[10] = (int *****)((int)pppppiVar28 + 1)" (subscript_expression "param_1[10]" identifier [ number_literal ]) = (cast_expression "(int *****)((int)pppppiVar28 + 1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppiVar28 + 1)" ( (binary_expression "(int)pppppiVar28 + 1" (cast_expression "(int)pppppiVar28" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(int ******)(iVar7 + 0x30) = pppppiVar28;" (assignment_expression "*(int ******)(iVar7 + 0x30) = pppppiVar28" (pointer_expression "*(int ******)(iVar7 + 0x30)" * (cast_expression "(int ******)(iVar7 + 0x30)" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(iVar7 + 0x30)" ( (binary_expression "iVar7 + 0x30" identifier + number_literal) )))) = identifier) ;) (if_statement "if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }" if (parenthesized_expression "(param_4 != (int ******)0x0)" ( (binary_expression "param_4 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }" { (expression_statement "uStack_71 = 0xff;" (assignment_expression "uStack_71 = 0xff" identifier = number_literal) ;) (expression_statement "local_7c = local_30;" (assignment_expression "local_7c = local_30" identifier = identifier) ;) (expression_statement "ppppppiVar27 = param_2;" (assignment_expression "ppppppiVar27 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_34;" (assignment_expression "ppppppiVar26 = (int ******)local_34" identifier = (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar8;" (assignment_expression "in_stack_ffffff80 = ppppppiVar8" identifier = identifier) ;) (expression_statement "FUN_000f5dd4(param_1,iVar7);" (call_expression "FUN_000f5dd4(param_1,iVar7)" identifier (argument_list "(param_1,iVar7)" ( identifier , identifier ))) ;) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" identifier = identifier) ;) })) (if_statement "if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }" if (parenthesized_expression "(param_3 != (int ******)0x0)" ( (binary_expression "param_3 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }" { (expression_statement "bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);" (assignment_expression "bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" identifier = (pointer_expression "*(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" * (cast_expression "(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" ( (binary_expression "(int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19" (binary_expression "(int)ppppppiVar8 + (param_5 != (int ******)0x0)" (cast_expression "(int)ppppppiVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(param_5 != (int ******)0x0)" ( (binary_expression "param_5 != (int ******)0x0" identifier != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ))) + number_literal) ))))) ;) (expression_statement "uStack_71 = 1;" (assignment_expression "uStack_71 = 1" identifier = number_literal) ;) (expression_statement "local_7c = local_30;" (assignment_expression "local_7c = local_30" identifier = identifier) ;) (expression_statement "ppppppiVar27 = param_2;" (assignment_expression "ppppppiVar27 = param_2" identifier = identifier) ;) (expression_statement "ppppppiVar26 = (int ******)local_34;" (assignment_expression "ppppppiVar26 = (int ******)local_34" identifier = (cast_expression "(int ******)local_34" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (expression_statement "in_stack_ffffff80 = ppppppiVar8;" (assignment_expression "in_stack_ffffff80 = ppppppiVar8" identifier = identifier) ;) (expression_statement "FUN_000f5dd4(param_1,iVar7);" (call_expression "FUN_000f5dd4(param_1,iVar7)" identifier (argument_list "(param_1,iVar7)" ( identifier , identifier ))) ;) (expression_statement "local_78 = param_3;" (assignment_expression "local_78 = param_3" identifier = identifier) ;) (if_statement "if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }" if (parenthesized_expression "((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8))" ( (binary_expression "(*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)" (parenthesized_expression "(*(char *)(ppppppiVar8 + 6) == '\0')" ( (binary_expression "*(char *)(ppppppiVar8 + 6) == '\0'" (pointer_expression "*(char *)(ppppppiVar8 + 6)" * (cast_expression "(char *)(ppppppiVar8 + 6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(ppppppiVar8 + 6)" ( (binary_expression "ppppppiVar8 + 6" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((bVar3 & 0xfd) != 8)" ( (binary_expression "(bVar3 & 0xfd) != 8" (parenthesized_expression "(bVar3 & 0xfd)" ( (binary_expression "bVar3 & 0xfd" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }" { (expression_statement "ppppppiVar12 = (int ******)param_1[0x1d];" (assignment_expression "ppppppiVar12 = (int ******)param_1[0x1d]" identifier = (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ]))) ;) (if_statement "if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }" if (parenthesized_expression "((int ******)param_1[0x1d] == (int ******)0x0)" ( (binary_expression "(int ******)param_1[0x1d] == (int ******)0x0" (cast_expression "(int ******)param_1[0x1d]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "param_1[0x1d]" identifier [ number_literal ])) == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n                ppppppiVar12 = param_1;\n              }" { (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" identifier = identifier) ;) })) (expression_statement "*(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)ppppppiVar12 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)ppppppiVar12 + 0x15)" * (cast_expression "(undefined1 *)((int)ppppppiVar12 + 0x15)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar12 + 0x15)" ( (binary_expression "(int)ppppppiVar12 + 0x15" (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) })) })) (expression_statement "*(undefined4 *)(iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" * (cast_expression "(undefined4 *)(iVar7 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" identifier = identifier) ;) (expression_statement "(*pcVar10)(ppppppiVar29,iVar7);" (call_expression "(*pcVar10)(ppppppiVar29,iVar7)" (parenthesized_expression "(*pcVar10)" ( (pointer_expression "*pcVar10" * identifier) )) (argument_list "(ppppppiVar29,iVar7)" ( identifier , identifier ))) ;) })) (expression_statement "ppppppiVar23 = (int ******)local_30;" (assignment_expression "ppppppiVar23 = (int ******)local_30" identifier = (cast_expression "(int ******)local_30" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier)) ;) (if_statement "if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }" if (parenthesized_expression "((int ******)local_30 != (int ******)0x0)" ( (binary_expression "(int ******)local_30 != (int ******)0x0" (cast_expression "(int ******)local_30" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }" { (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" identifier = identifier) ;) (expression_statement "(*(code *)(puVar5 + -0x2368))();" (call_expression "(*(code *)(puVar5 + -0x2368))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2368))" ( (pointer_expression "*(code *)(puVar5 + -0x2368)" * (cast_expression "(code *)(puVar5 + -0x2368)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + -0x2368)" ( (binary_expression "puVar5 + -0x2368" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;) })) })) (labeled_statement "LAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];" statement_identifier : (expression_statement "ppppppiVar8 = (int ******)ppppppiVar8[3];" (assignment_expression "ppppppiVar8 = (int ******)ppppppiVar8[3]" identifier = (cast_expression "(int ******)ppppppiVar8[3]" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (subscript_expression "ppppppiVar8[3]" identifier [ number_literal ]))) ;)) (labeled_statement "LAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;" statement_identifier : (if_statement "if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;" if (parenthesized_expression "(ppppppiVar8 == (int ******)0x0)" ( (binary_expression "ppppppiVar8 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (goto_statement "goto LAB_00109e60;" goto statement_identifier ;))) (goto_statement "goto LAB_00109dd8;" goto statement_identifier ;) })) })) (labeled_statement "LAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }" statement_identifier : (if_statement "if (local_2c == *(int *)puVar33) {\n    return;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar33)" ( (binary_expression "local_2c == *(int *)puVar33" identifier == (pointer_expression "*(int *)puVar33" * (cast_expression "(int *)puVar33" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "puVar33 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00190df8" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" * (cast_expression "(code *)PTR___stack_chk_fail_00190df8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);" (assignment_expression "pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1)" identifier = (cast_expression "(int *****)((int)ppppppiVar12[0xe] + -1)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppppiVar12[0xe] + -1)" ( (binary_expression "(int)ppppppiVar12[0xe] + -1" (cast_expression "(int)ppppppiVar12[0xe]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppppppiVar12[0xe]" identifier [ number_literal ])) + number_literal) )))) ;) (expression_statement "ppppppiVar12[0xe] = pppppiVar30;" (assignment_expression "ppppppiVar12[0xe] = pppppiVar30" (subscript_expression "ppppppiVar12[0xe]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar21 = 0x1c;" (assignment_expression "uVar21 = 0x1c" identifier = number_literal) ;) (expression_statement "pppppiVar28 = ppppppiVar12[2];" (assignment_expression "pppppiVar28 = ppppppiVar12[2]" identifier = (subscript_expression "ppppppiVar12[2]" identifier [ number_literal ])) ;) (if_statement "if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }" if (parenthesized_expression "(((uint)ppppppiVar23[9] & 0x20) == 0)" ( (binary_expression "((uint)ppppppiVar23[9] & 0x20) == 0" (parenthesized_expression "((uint)ppppppiVar23[9] & 0x20)" ( (binary_expression "(uint)ppppppiVar23[9] & 0x20" (cast_expression "(uint)ppppppiVar23[9]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "ppppppiVar23[9]" identifier [ number_literal ])) & number_literal) )) == number_literal) )) (compound_statement "{\n    uVar21 = 0x1f;\n  }" { (expression_statement "uVar21 = 0x1f;" (assignment_expression "uVar21 = 0x1f" identifier = number_literal) ;) })) (if_statement "if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }" if (parenthesized_expression "(cStack_69 == '\0')" ( (binary_expression "cStack_69 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }" { (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (binary_expression "*(int *)(puVar33 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)local_78._2_2_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_78._2_2_" identifier . field_identifier)) ))) ;) })) (expression_statement "pppppiStack_d0 = (int *****)&_gp_1;" (assignment_expression "pppppiStack_d0 = (int *****)&_gp_1" identifier = (cast_expression "(int *****)&_gp_1" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&_gp_1" & identifier))) ;) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x867f4) + -0x3768)" ( (binary_expression "*(int *)(puVar33 + 0x867f4) + -0x3768" (pointer_expression "*(int *)(puVar33 + 0x867f4)" * (cast_expression "(int *)(puVar33 + 0x867f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x867f4)" ( (binary_expression "puVar33 + 0x867f4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppppppiVar12,ppppppiVar23,0,0)" ( (pointer_expression "*ppppppiVar12" * identifier) , identifier , number_literal , number_literal )))) ;) (if_statement "if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" if (parenthesized_expression "((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0))" ( (binary_expression "(iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)" ( (comma_expression "iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86818)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86818)" * (cast_expression "(int *)(puVar33 + 0x86818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86818)" ( (binary_expression "puVar33 + 0x86818" identifier + number_literal) ))))) , (binary_expression "ppppppiVar27 == (int ******)0x0" identifier == (cast_expression "(int ******)0x0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) (compound_statement "{\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }" { (expression_statement "pppppiVar31 = ppppppiVar23[3];" (assignment_expression "pppppiVar31 = ppppppiVar23[3]" identifier = (subscript_expression "ppppppiVar23[3]" identifier [ number_literal ])) ;) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" else (compound_statement "{\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" { (expression_statement "uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);" (assignment_expression "uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" identifier = (call_expression "FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" identifier (argument_list "(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier )))) ;) (if_statement "if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }" if (parenthesized_expression "(((uint)(*ppppppiVar12)[9] & 0x4000) != 0)" ( (binary_expression "((uint)(*ppppppiVar12)[9] & 0x4000) != 0" (parenthesized_expression "((uint)(*ppppppiVar12)[9] & 0x4000)" ( (binary_expression "(uint)(*ppppppiVar12)[9] & 0x4000" (subscript_expression "(uint)(*ppppppiVar12)[9]" (call_expression "(uint)(*ppppppiVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*ppppppiVar12)" ( (pointer_expression "*ppppppiVar12" * identifier) ))) [ number_literal ]) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }" { (expression_statement "uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);" (assignment_expression "uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86814) + -0x6eb0)" ( (binary_expression "*(int *)(puVar33 + 0x86814) + -0x6eb0" (pointer_expression "*(int *)(puVar33 + 0x86814)" * (cast_expression "(int *)(puVar33 + 0x86814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86814)" ( (binary_expression "puVar33 + 0x86814" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(ppppppiVar12,ppppppiVar23)" ( identifier , identifier )))) ;) (expression_statement "uVar15 = uVar15 | uVar16;" (assignment_expression "uVar15 = uVar15 | uVar16" identifier = (binary_expression "uVar15 | uVar16" identifier | identifier)) ;) })) (expression_statement "pppppiVar31 = ppppppiVar12[0xb];" (assignment_expression "pppppiVar31 = ppppppiVar12[0xb]" identifier = (subscript_expression "ppppppiVar12[0xb]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(puVar33 + 0x86810);" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86810)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) ))))) ;) (expression_statement "iVar20 = (int)pppppiVar31 + 1;" (assignment_expression "iVar20 = (int)pppppiVar31 + 1" identifier = (binary_expression "(int)pppppiVar31 + 1" (cast_expression "(int)pppppiVar31" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);" (assignment_expression "ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" (subscript_expression "ppppppiVar12[0xb]" identifier [ number_literal ]) = (cast_expression "(int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" ( (binary_expression "*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31" (binary_expression "*(short *)((int)ppppppiVar23 + 0x2a) + 1" (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" * (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" ( (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) + (cast_expression "(int)pppppiVar31" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);" (call_expression "(*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0)" (parenthesized_expression "(*(code *)(iVar7 + 0x10fc))" ( (pointer_expression "*(code *)(iVar7 + 0x10fc)" * (cast_expression "(code *)(iVar7 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10fc)" ( (binary_expression "iVar7 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,0x4e,local_7c,iVar20,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" identifier = number_literal) ;) (expression_statement "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);" (assignment_expression "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" * (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" ( (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) (if_statement "if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }" { (expression_statement "iVar22 = *(int *)(puVar33 + 0x86814);" (assignment_expression "iVar22 = *(int *)(puVar33 + 0x86814)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86814)" * (cast_expression "(int *)(puVar33 + 0x86814)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86814)" ( (binary_expression "puVar33 + 0x86814" identifier + number_literal) ))))) ;) (do_statement "do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);" do (compound_statement "{\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      }" { (if_statement "if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }" if (parenthesized_expression "((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))))" ( (binary_expression "(uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" (parenthesized_expression "(uVar15 == 0xffffffff)" ( (binary_expression "uVar15 == 0xffffffff" identifier == number_literal) )) || (parenthesized_expression "(((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" ( (parenthesized_expression "((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))" ( (binary_expression "(int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)" (binary_expression "(int)uVar16 < 0x20" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) && (parenthesized_expression "((1 << (uVar16 & 0x1f) & uVar15) != 0)" ( (binary_expression "(1 << (uVar16 & 0x1f) & uVar15) != 0" (parenthesized_expression "(1 << (uVar16 & 0x1f) & uVar15)" ( (binary_expression "1 << (uVar16 & 0x1f) & uVar15" (binary_expression "1 << (uVar16 & 0x1f)" number_literal << (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) ))) & identifier) )) != number_literal) ))) )) ))) )) (compound_statement "{\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }" { (expression_statement "(*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);" (call_expression "(*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2)" (parenthesized_expression "(*(code *)(iVar22 + 0x4eb8))" ( (pointer_expression "*(code *)(iVar22 + 0x4eb8)" * (cast_expression "(code *)(iVar22 + 0x4eb8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x4eb8)" ( (binary_expression "iVar22 + 0x4eb8" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2)" ( identifier , identifier , identifier , identifier , (binary_expression "(int)pppppiVar31 + uVar16 + 2" (binary_expression "(int)pppppiVar31 + uVar16" (cast_expression "(int)pppppiVar31" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) ;) (expression_statement "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);" (assignment_expression "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a)" identifier = (cast_expression "(int)*(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" * (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" ( (type_descriptor "short *" (sized_type_specifier "short" short) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" ( (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) })) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" identifier = (binary_expression "uVar16 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)uVar16 < iVar7)" ( (binary_expression "(int)uVar16 < iVar7" (cast_expression "(int)uVar16" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) )) ;) })) (expression_statement "ppppiVar17 = pppppiVar28[0x1b];" (assignment_expression "ppppiVar17 = pppppiVar28[0x1b]" identifier = (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = *(int *)(puVar33 + 0x86818);" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86818)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86818)" * (cast_expression "(int *)(puVar33 + 0x86818)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86818)" ( (binary_expression "puVar33 + 0x86818" identifier + number_literal) ))))) ;) (expression_statement "FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);" (call_expression "FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" identifier (argument_list "(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) (if_statement "if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }" if (parenthesized_expression "((int)ppppiVar17 < (int)pppppiVar28[0x1b])" ( (binary_expression "(int)ppppiVar17 < (int)pppppiVar28[0x1b]" (cast_expression "(int)ppppiVar17" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }" { (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0x13a0)" ( (binary_expression "*(int *)(puVar33 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" ( identifier , identifier , identifier , identifier , identifier , (cast_expression "(int)local_78._2_2_" ( (type_descriptor "int" primitive_type) ) (field_expression "local_78._2_2_" identifier . field_identifier)) ))) ;) (expression_statement "pppppiStack_d0 = (int *****)0xffffffff;" (assignment_expression "pppppiStack_d0 = (int *****)0xffffffff" identifier = (cast_expression "(int *****)0xffffffff" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) })) (expression_statement "FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);" (call_expression "FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0)" identifier (argument_list "(ppppppiVar12,ppppppiVar23,iVar20,0,0,0)" ( identifier , identifier , identifier , number_literal , number_literal , number_literal ))) ;) (expression_statement "pppppiVar31 = ppppppiVar23[3];" (assignment_expression "pppppiVar31 = ppppppiVar23[3]" identifier = (subscript_expression "ppppppiVar23[3]" identifier [ number_literal ])) ;) }))) (if_statement "if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }" if (parenthesized_expression "(pppppiVar31 == (int *****)0x0)" ( (binary_expression "pppppiVar31 == (int *****)0x0" identifier == (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }" { (expression_statement "FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);" (call_expression "FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0)" identifier (argument_list "(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0)" ( identifier , identifier , identifier , identifier , number_literal , identifier ))) ;) (expression_statement "iVar22 = *(int *)(puVar33 + 0x86810);" (assignment_expression "iVar22 = *(int *)(puVar33 + 0x86810)" identifier = (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) ))))) ;) (expression_statement "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);" (call_expression "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0)" (parenthesized_expression "(*(code *)(iVar22 + 0x10fc))" ( (pointer_expression "*(code *)(iVar22 + 0x10fc)" * (cast_expression "(code *)(iVar22 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10fc)" ( (binary_expression "iVar22 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0)" ( identifier , number_literal , identifier , identifier , number_literal ))) ;) (if_statement "if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" if (parenthesized_expression "(*(char *)((int)ppppppiVar12 + 0x12) == '\0')" ( (binary_expression "*(char *)((int)ppppppiVar12 + 0x12) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar12 + 0x12)" * (cast_expression "(char *)((int)ppppppiVar12 + 0x12)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppiVar12 + 0x12)" ( (binary_expression "(int)ppppppiVar12 + 0x12" (cast_expression "(int)ppppppiVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }" { (labeled_statement "LAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);" statement_identifier : (expression_statement "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x867f4) + -0x24d4)" ( (binary_expression "*(int *)(puVar33 + 0x867f4) + -0x24d4" (pointer_expression "*(int *)(puVar33 + 0x867f4)" * (cast_expression "(int *)(puVar33 + 0x867f4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x867f4)" ( (binary_expression "puVar33 + 0x867f4" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,ppppppiVar23,0xfffffffa)" ( identifier , identifier , number_literal ))) ;)) }) (else_clause "else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" else (if_statement "if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" if (parenthesized_expression "((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))" ( (binary_expression "(*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0)" (parenthesized_expression "(*ppppppiVar23 != (int *****)0x0)" ( (binary_expression "*ppppppiVar23 != (int *****)0x0" (pointer_expression "*ppppppiVar23" * identifier) != (cast_expression "(int *****)0x0" ( (type_descriptor "int *****" primitive_type (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "(iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0)" ( (comma_expression "iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" identifier = (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x867f8) + 0x20c8)" ( (binary_expression "*(int *)(puVar33 + 0x867f8) + 0x20c8" (pointer_expression "*(int *)(puVar33 + 0x867f8)" * (cast_expression "(int *)(puVar33 + 0x867f8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x867f8)" ( (binary_expression "puVar33 + 0x867f8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" ( (pointer_expression "*ppppppiVar23" * identifier) , (binary_expression "*(int *)(puVar33 + 0x865ac) + -0x3128" (pointer_expression "*(int *)(puVar33 + 0x865ac)" * (cast_expression "(int *)(puVar33 + 0x865ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x865ac)" ( (binary_expression "puVar33 + 0x865ac" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_0010a8b0;" goto statement_identifier ;)))) (if_statement "if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" if (parenthesized_expression "(cStack_69 == '\0')" ( (binary_expression "cStack_69 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }" { (if_statement "if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;" if (parenthesized_expression "(-1 < (int)pppppiStack_d0)" ( (binary_expression "-1 < (int)pppppiStack_d0" number_literal < (cast_expression "(int)pppppiStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_0010a7a4;" goto statement_identifier ;)) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" else (compound_statement "{\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" { (if_statement "if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }" if (parenthesized_expression "(0 < (int)pppppiVar28[0x1b])" ( (binary_expression "0 < (int)pppppiVar28[0x1b]" number_literal < (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }" { (expression_statement "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;" (assignment_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4" (pointer_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16" (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = number_literal) ;) })) (if_statement "if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }" if (parenthesized_expression "(-1 < (int)pppppiStack_d0)" ( (binary_expression "-1 < (int)pppppiStack_d0" number_literal < (cast_expression "(int)pppppiStack_d0" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }" { (labeled_statement "LAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" statement_identifier : (if_statement "if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" if (parenthesized_expression "((int ******)pppppiStack_d0 != ppppppiVar26)" ( (binary_expression "(int ******)pppppiStack_d0 != ppppppiVar26" (cast_expression "(int ******)pppppiStack_d0" ( (type_descriptor "int ******" primitive_type (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier) != identifier) )) (compound_statement "{\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" { (expression_statement "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);" (call_expression "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0)" (parenthesized_expression "(*(code *)(iVar22 + 0x10fc))" ( (pointer_expression "*(code *)(iVar22 + 0x10fc)" * (cast_expression "(code *)(iVar22 + 0x10fc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 0x10fc)" ( (binary_expression "iVar22 + 0x10fc" identifier + number_literal) )))) )) (argument_list "(pppppiVar28,0x7b,pppppiStack_d0,0,0)" ( identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) })) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" identifier = number_literal) ;) (if_statement "if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }" if (parenthesized_expression "(cStack_69 != '\x02')" ( (binary_expression "cStack_69 != '\x02'" identifier != (char_literal "'\x02'" ' escape_sequence ')) )) (compound_statement "{\n        uVar24 = 0;\n      }" { (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" identifier = number_literal) ;) })) }))) (if_statement "if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }" if (parenthesized_expression "(0 < (int)pppppiVar28[0x1b])" ( (binary_expression "0 < (int)pppppiVar28[0x1b]" number_literal < (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ]))) )) (compound_statement "{\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }" { (expression_statement "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;" (assignment_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24" (pointer_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" * (cast_expression "(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" ( (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16" (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1a]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1a]" identifier [ number_literal ])) + (binary_expression "(int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1b]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppiVar28[0x1b]" identifier [ number_literal ])) * number_literal)) + number_literal) )))) = identifier) ;) (expression_statement "ppppiVar17 = (*ppppppiVar12)[9];" (assignment_expression "ppppiVar17 = (*ppppppiVar12)[9]" identifier = (subscript_expression "(*ppppppiVar12)[9]" (parenthesized_expression "(*ppppppiVar12)" ( (pointer_expression "*ppppppiVar12" * identifier) )) [ number_literal ])) ;) (goto_statement "goto joined_r0x0010a810;" goto statement_identifier ;) })) })) (expression_statement "ppppiVar17 = (*ppppppiVar12)[9];" (assignment_expression "ppppiVar17 = (*ppppppiVar12)[9]" identifier = (subscript_expression "(*ppppppiVar12)[9]" (parenthesized_expression "(*ppppppiVar12)" ( (pointer_expression "*ppppppiVar12" * identifier) )) [ number_literal ])) ;) (labeled_statement "joined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" statement_identifier : (if_statement "if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" if (parenthesized_expression "(((uint)ppppiVar17 & 0x4000) != 0)" ( (binary_expression "((uint)ppppiVar17 & 0x4000) != 0" (parenthesized_expression "((uint)ppppiVar17 & 0x4000)" ( (binary_expression "(uint)ppppiVar17 & 0x4000" (cast_expression "(uint)ppppiVar17" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" { (expression_statement "FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);" (call_expression "FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0)" identifier (argument_list "(ppppppiVar12,ppppppiVar23,0,iVar20,0,0)" ( identifier , identifier , number_literal , identifier , number_literal , number_literal ))) ;) }))) (expression_statement "(*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);" (call_expression "(*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" (parenthesized_expression "(*(code *)(iVar7 + -0x2cec))" ( (pointer_expression "*(code *)(iVar7 + -0x2cec)" * (cast_expression "(code *)(iVar7 + -0x2cec)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x2cec)" ( (binary_expression "iVar7 + -0x2cec" identifier + number_literal) )))) )) (argument_list "(ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" ( identifier , identifier , number_literal , number_literal , number_literal , identifier , identifier , identifier , identifier ))) ;) (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))" ( (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78)" * (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0xd78)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0xd78)" ( (binary_expression "*(int *)(puVar33 + 0x86810) + 0xd78" (pointer_expression "*(int *)(puVar33 + 0x86810)" * (cast_expression "(int *)(puVar33 + 0x86810)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar33 + 0x86810)" ( (binary_expression "puVar33 + 0x86810" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pppppiVar28,pppppiVar30)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier short) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (break_statement break ;))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , IDENT ))))) ;) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])) < LIT) )) ;) })) (break_statement break ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression IDENT (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) ))) , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT) , LIT ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (goto_statement goto statement_identifier ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression IDENT * LIT)) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression * IDENT) , (subscript_expression (subscript_expression IDENT [ LIT ]) [ (binary_expression IDENT * LIT) ]) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression * (subscript_expression IDENT [ LIT ])))) , (binary_expression (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (subscript_expression IDENT [ LIT ])) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( )))) , (binary_expression IDENT != LIT)))))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT < (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) << LIT)) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) })) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (subscript_expression IDENT [ LIT ]))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (pointer_expression * IDENT) ))) [ LIT ]) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & IDENT) )) != LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier short) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_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 (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , LIT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , LIT , LIT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT ))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + LIT) )))) = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT) != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , LIT , IDENT , LIT , LIT ))) ;) }))) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * IDENT) )) [ LIT ])) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , LIT , IDENT , LIT , LIT ))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( IDENT , IDENT , LIT , LIT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) )) (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)\n\n{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    \n                    \n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00109be4(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)" (identifier "FUN_00109be4") (parameter_list "(int ******param_1,int ******param_2,int ******param_3,int ******param_4,\n                 int ******param_5,int ******param_6)" (( "(") (parameter_declaration "int ******param_1" (primitive_type "int") (pointer_declarator "******param_1" (* "*") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))))))) (, ",") (parameter_declaration "int ******param_2" (primitive_type "int") (pointer_declarator "******param_2" (* "*") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2")))))))) (, ",") (parameter_declaration "int ******param_3" (primitive_type "int") (pointer_declarator "******param_3" (* "*") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))))))) (, ",") (parameter_declaration "int ******param_4" (primitive_type "int") (pointer_declarator "******param_4" (* "*") (pointer_declarator "*****param_4" (* "*") (pointer_declarator "****param_4" (* "*") (pointer_declarator "***param_4" (* "*") (pointer_declarator "**param_4" (* "*") (pointer_declarator "*param_4" (* "*") (identifier "param_4")))))))) (, ",") (parameter_declaration "int ******param_5" (primitive_type "int") (pointer_declarator "******param_5" (* "*") (pointer_declarator "*****param_5" (* "*") (pointer_declarator "****param_5" (* "*") (pointer_declarator "***param_5" (* "*") (pointer_declarator "**param_5" (* "*") (pointer_declarator "*param_5" (* "*") (identifier "param_5")))))))) (, ",") (parameter_declaration "int ******param_6" (primitive_type "int") (pointer_declarator "******param_6" (* "*") (pointer_declarator "*****param_6" (* "*") (pointer_declarator "****param_6" (* "*") (pointer_declarator "***param_6" (* "*") (pointer_declarator "**param_6" (* "*") (pointer_declarator "*param_6" (* "*") (identifier "param_6")))))))) () ")"))) (compound_statement "{\n  char cVar1;\n  char cVar2;\n  byte bVar3;\n  short sVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  int iVar7;\n  int ******ppppppiVar8;\n  code *pcVar9;\n  code *pcVar10;\n  code *pcVar11;\n  int ******ppppppiVar12;\n  int ******ppppppiVar13;\n  code *pcVar14;\n  bool bVar19;\n  uint uVar15;\n  uint uVar16;\n  int ****ppppiVar17;\n  int iVar18;\n  int iVar20;\n  undefined4 uVar21;\n  int iVar22;\n  int ******ppppppiVar23;\n  undefined2 uVar24;\n  int ******ppppppiVar25;\n  int ******ppppppiVar26;\n  int ******ppppppiVar27;\n  int *****pppppiVar28;\n  int ******ppppppiVar29;\n  int *****pppppiVar30;\n  int *****pppppiVar31;\n  int ******ppppppiVar32;\n  undefined *puVar33;\n  int *****pppppiStack_d0;\n  int ******in_stack_ffffff80;\n  int *****local_7c;\n  undefined4 local_78;\n  undefined1 uStack_71;\n  undefined1 uStack_6d;\n  char cStack_69;\n  int ****local_5c;\n  int *****local_40;\n  int *****local_38;\n  int *****local_34;\n  int *****local_30;\n  int local_2c;\n  \n  puVar33 = PTR___stack_chk_guard_00190e24;\n  ppppppiVar29 = (int ******)*param_1;\n  local_2c = *(int *)PTR___stack_chk_guard_00190e24;\n  ppppppiVar12 = param_1;\n  ppppppiVar23 = param_2;\n  ppppppiVar27 = param_3;\n  ppppppiVar26 = param_4;\n  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }\nLAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }\n  puVar33 = PTR___stack_chk_fail_00190df8;\n  (*(code *)PTR___stack_chk_fail_00190df8)();\n  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);\n  ppppppiVar12[0xe] = pppppiVar30;\n  uVar21 = 0x1c;\n  pppppiVar28 = ppppppiVar12[2];\n  if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }\n  if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }\n  pppppiStack_d0 = (int *****)&_gp_1;\n  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);\n  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }\n  if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }\n  ppppiVar17 = (*ppppppiVar12)[9];\njoined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }\n  (*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n                    \n                    \n  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);\n  return;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "short sVar4;" (sized_type_specifier "short" (short "short")) (identifier "sVar4") (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined *puVar6;" (type_identifier "undefined") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int ******ppppppiVar8;" (primitive_type "int") (pointer_declarator "******ppppppiVar8" (* "*") (pointer_declarator "*****ppppppiVar8" (* "*") (pointer_declarator "****ppppppiVar8" (* "*") (pointer_declarator "***ppppppiVar8" (* "*") (pointer_declarator "**ppppppiVar8" (* "*") (pointer_declarator "*ppppppiVar8" (* "*") (identifier "ppppppiVar8"))))))) (; ";")) (declaration "code *pcVar9;" (type_identifier "code") (pointer_declarator "*pcVar9" (* "*") (identifier "pcVar9")) (; ";")) (declaration "code *pcVar10;" (type_identifier "code") (pointer_declarator "*pcVar10" (* "*") (identifier "pcVar10")) (; ";")) (declaration "code *pcVar11;" (type_identifier "code") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "int ******ppppppiVar12;" (primitive_type "int") (pointer_declarator "******ppppppiVar12" (* "*") (pointer_declarator "*****ppppppiVar12" (* "*") (pointer_declarator "****ppppppiVar12" (* "*") (pointer_declarator "***ppppppiVar12" (* "*") (pointer_declarator "**ppppppiVar12" (* "*") (pointer_declarator "*ppppppiVar12" (* "*") (identifier "ppppppiVar12"))))))) (; ";")) (declaration "int ******ppppppiVar13;" (primitive_type "int") (pointer_declarator "******ppppppiVar13" (* "*") (pointer_declarator "*****ppppppiVar13" (* "*") (pointer_declarator "****ppppppiVar13" (* "*") (pointer_declarator "***ppppppiVar13" (* "*") (pointer_declarator "**ppppppiVar13" (* "*") (pointer_declarator "*ppppppiVar13" (* "*") (identifier "ppppppiVar13"))))))) (; ";")) (declaration "code *pcVar14;" (type_identifier "code") (pointer_declarator "*pcVar14" (* "*") (identifier "pcVar14")) (; ";")) (declaration "bool bVar19;" (primitive_type "bool") (identifier "bVar19") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "int ****ppppiVar17;" (primitive_type "int") (pointer_declarator "****ppppiVar17" (* "*") (pointer_declarator "***ppppiVar17" (* "*") (pointer_declarator "**ppppiVar17" (* "*") (pointer_declarator "*ppppiVar17" (* "*") (identifier "ppppiVar17"))))) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "undefined4 uVar21;" (type_identifier "undefined4") (identifier "uVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "int ******ppppppiVar23;" (primitive_type "int") (pointer_declarator "******ppppppiVar23" (* "*") (pointer_declarator "*****ppppppiVar23" (* "*") (pointer_declarator "****ppppppiVar23" (* "*") (pointer_declarator "***ppppppiVar23" (* "*") (pointer_declarator "**ppppppiVar23" (* "*") (pointer_declarator "*ppppppiVar23" (* "*") (identifier "ppppppiVar23"))))))) (; ";")) (declaration "undefined2 uVar24;" (type_identifier "undefined2") (identifier "uVar24") (; ";")) (declaration "int ******ppppppiVar25;" (primitive_type "int") (pointer_declarator "******ppppppiVar25" (* "*") (pointer_declarator "*****ppppppiVar25" (* "*") (pointer_declarator "****ppppppiVar25" (* "*") (pointer_declarator "***ppppppiVar25" (* "*") (pointer_declarator "**ppppppiVar25" (* "*") (pointer_declarator "*ppppppiVar25" (* "*") (identifier "ppppppiVar25"))))))) (; ";")) (declaration "int ******ppppppiVar26;" (primitive_type "int") (pointer_declarator "******ppppppiVar26" (* "*") (pointer_declarator "*****ppppppiVar26" (* "*") (pointer_declarator "****ppppppiVar26" (* "*") (pointer_declarator "***ppppppiVar26" (* "*") (pointer_declarator "**ppppppiVar26" (* "*") (pointer_declarator "*ppppppiVar26" (* "*") (identifier "ppppppiVar26"))))))) (; ";")) (declaration "int ******ppppppiVar27;" (primitive_type "int") (pointer_declarator "******ppppppiVar27" (* "*") (pointer_declarator "*****ppppppiVar27" (* "*") (pointer_declarator "****ppppppiVar27" (* "*") (pointer_declarator "***ppppppiVar27" (* "*") (pointer_declarator "**ppppppiVar27" (* "*") (pointer_declarator "*ppppppiVar27" (* "*") (identifier "ppppppiVar27"))))))) (; ";")) (declaration "int *****pppppiVar28;" (primitive_type "int") (pointer_declarator "*****pppppiVar28" (* "*") (pointer_declarator "****pppppiVar28" (* "*") (pointer_declarator "***pppppiVar28" (* "*") (pointer_declarator "**pppppiVar28" (* "*") (pointer_declarator "*pppppiVar28" (* "*") (identifier "pppppiVar28")))))) (; ";")) (declaration "int ******ppppppiVar29;" (primitive_type "int") (pointer_declarator "******ppppppiVar29" (* "*") (pointer_declarator "*****ppppppiVar29" (* "*") (pointer_declarator "****ppppppiVar29" (* "*") (pointer_declarator "***ppppppiVar29" (* "*") (pointer_declarator "**ppppppiVar29" (* "*") (pointer_declarator "*ppppppiVar29" (* "*") (identifier "ppppppiVar29"))))))) (; ";")) (declaration "int *****pppppiVar30;" (primitive_type "int") (pointer_declarator "*****pppppiVar30" (* "*") (pointer_declarator "****pppppiVar30" (* "*") (pointer_declarator "***pppppiVar30" (* "*") (pointer_declarator "**pppppiVar30" (* "*") (pointer_declarator "*pppppiVar30" (* "*") (identifier "pppppiVar30")))))) (; ";")) (declaration "int *****pppppiVar31;" (primitive_type "int") (pointer_declarator "*****pppppiVar31" (* "*") (pointer_declarator "****pppppiVar31" (* "*") (pointer_declarator "***pppppiVar31" (* "*") (pointer_declarator "**pppppiVar31" (* "*") (pointer_declarator "*pppppiVar31" (* "*") (identifier "pppppiVar31")))))) (; ";")) (declaration "int ******ppppppiVar32;" (primitive_type "int") (pointer_declarator "******ppppppiVar32" (* "*") (pointer_declarator "*****ppppppiVar32" (* "*") (pointer_declarator "****ppppppiVar32" (* "*") (pointer_declarator "***ppppppiVar32" (* "*") (pointer_declarator "**ppppppiVar32" (* "*") (pointer_declarator "*ppppppiVar32" (* "*") (identifier "ppppppiVar32"))))))) (; ";")) (declaration "undefined *puVar33;" (type_identifier "undefined") (pointer_declarator "*puVar33" (* "*") (identifier "puVar33")) (; ";")) (declaration "int *****pppppiStack_d0;" (primitive_type "int") (pointer_declarator "*****pppppiStack_d0" (* "*") (pointer_declarator "****pppppiStack_d0" (* "*") (pointer_declarator "***pppppiStack_d0" (* "*") (pointer_declarator "**pppppiStack_d0" (* "*") (pointer_declarator "*pppppiStack_d0" (* "*") (identifier "pppppiStack_d0")))))) (; ";")) (declaration "int ******in_stack_ffffff80;" (primitive_type "int") (pointer_declarator "******in_stack_ffffff80" (* "*") (pointer_declarator "*****in_stack_ffffff80" (* "*") (pointer_declarator "****in_stack_ffffff80" (* "*") (pointer_declarator "***in_stack_ffffff80" (* "*") (pointer_declarator "**in_stack_ffffff80" (* "*") (pointer_declarator "*in_stack_ffffff80" (* "*") (identifier "in_stack_ffffff80"))))))) (; ";")) (declaration "int *****local_7c;" (primitive_type "int") (pointer_declarator "*****local_7c" (* "*") (pointer_declarator "****local_7c" (* "*") (pointer_declarator "***local_7c" (* "*") (pointer_declarator "**local_7c" (* "*") (pointer_declarator "*local_7c" (* "*") (identifier "local_7c")))))) (; ";")) (declaration "undefined4 local_78;" (type_identifier "undefined4") (identifier "local_78") (; ";")) (declaration "undefined1 uStack_71;" (type_identifier "undefined1") (identifier "uStack_71") (; ";")) (declaration "undefined1 uStack_6d;" (type_identifier "undefined1") (identifier "uStack_6d") (; ";")) (declaration "char cStack_69;" (primitive_type "char") (identifier "cStack_69") (; ";")) (declaration "int ****local_5c;" (primitive_type "int") (pointer_declarator "****local_5c" (* "*") (pointer_declarator "***local_5c" (* "*") (pointer_declarator "**local_5c" (* "*") (pointer_declarator "*local_5c" (* "*") (identifier "local_5c"))))) (; ";")) (declaration "int *****local_40;" (primitive_type "int") (pointer_declarator "*****local_40" (* "*") (pointer_declarator "****local_40" (* "*") (pointer_declarator "***local_40" (* "*") (pointer_declarator "**local_40" (* "*") (pointer_declarator "*local_40" (* "*") (identifier "local_40")))))) (; ";")) (declaration "int *****local_38;" (primitive_type "int") (pointer_declarator "*****local_38" (* "*") (pointer_declarator "****local_38" (* "*") (pointer_declarator "***local_38" (* "*") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38")))))) (; ";")) (declaration "int *****local_34;" (primitive_type "int") (pointer_declarator "*****local_34" (* "*") (pointer_declarator "****local_34" (* "*") (pointer_declarator "***local_34" (* "*") (pointer_declarator "**local_34" (* "*") (pointer_declarator "*local_34" (* "*") (identifier "local_34")))))) (; ";")) (declaration "int *****local_30;" (primitive_type "int") (pointer_declarator "*****local_30" (* "*") (pointer_declarator "****local_30" (* "*") (pointer_declarator "***local_30" (* "*") (pointer_declarator "**local_30" (* "*") (pointer_declarator "*local_30" (* "*") (identifier "local_30")))))) (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar33 = PTR___stack_chk_guard_00190e24;" (assignment_expression "puVar33 = PTR___stack_chk_guard_00190e24" (identifier "puVar33") (= "=") (identifier "PTR___stack_chk_guard_00190e24")) (; ";")) (expression_statement "ppppppiVar29 = (int ******)*param_1;" (assignment_expression "ppppppiVar29 = (int ******)*param_1" (identifier "ppppppiVar29") (= "=") (cast_expression "(int ******)*param_1" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*param_1" (* "*") (identifier "param_1")))) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_00190e24;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_00190e24" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_00190e24" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_00190e24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_00190e24")))) (; ";")) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" (identifier "ppppppiVar12") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppppppiVar23 = param_2;" (assignment_expression "ppppppiVar23 = param_2" (identifier "ppppppiVar23") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppppppiVar27 = param_3;" (assignment_expression "ppppppiVar27 = param_3" (identifier "ppppppiVar27") (= "=") (identifier "param_3")) (; ";")) (expression_statement "ppppppiVar26 = param_4;" (assignment_expression "ppppppiVar26 = param_4" (identifier "ppppppiVar26") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (((uint)ppppppiVar29[9] & 0x4000) != 0) {\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" (if "if") (parenthesized_expression "(((uint)ppppppiVar29[9] & 0x4000) != 0)" (( "(") (binary_expression "((uint)ppppppiVar29[9] & 0x4000) != 0" (parenthesized_expression "((uint)ppppppiVar29[9] & 0x4000)" (( "(") (binary_expression "(uint)ppppppiVar29[9] & 0x4000" (cast_expression "(uint)ppppppiVar29[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppiVar29[9]" (identifier "ppppppiVar29") ([ "[") (number_literal "9") (] "]"))) (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    ppppppiVar26 = (int ******)param_2[0x12];\n    if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }\n    puVar5 = PTR_LAB_00190ba8;\n    cVar1 = *(char *)((int)param_1 + 0x8e);\n    ppppppiVar32 = (int ******)param_2[4];\n    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);\n    if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }\nLAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;\n    ppppppiVar23 = (int ******)*param_2;\n    ppppppiVar12 = ppppppiVar26 + 0xe;\n    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();\n    puVar5 = PTR_LAB_00190ba8;\n    ppppppiVar8 = *(int *******)(iVar7 + 8);\n    if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }\n  }" ({ "{") (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)param_2[0x12]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (if_statement "if (ppppppiVar26 == (int ******)0x0) {\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }\n    else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" (if "if") (parenthesized_expression "(ppppppiVar26 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar26 == (int ******)0x0" (identifier "ppppppiVar26") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar20 = -16000000;\n      iVar7 = -1000000;\n    }" ({ "{") (expression_statement "iVar20 = -16000000;" (assignment_expression "iVar20 = -16000000" (identifier "iVar20") (= "=") (number_literal "-16000000")) (; ";")) (expression_statement "iVar7 = -1000000;" (assignment_expression "iVar7 = -1000000" (identifier "iVar7") (= "=") (number_literal "-1000000")) (; ";")) (} "}")) (else_clause "else {\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" (else "else") (compound_statement "{\n      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);\n      iVar20 = iVar7 << 4;\n    }" ({ "{") (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26)" (identifier "iVar7") (= "=") (call_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba4 + -0x31a4))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba4 + -0x31a4)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba4 + -0x31a4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba4 + -0x31a4)" (( "(") (binary_expression "PTR_LAB_00190ba4 + -0x31a4" (identifier "PTR_LAB_00190ba4") (+ "+") (number_literal "-0x31a4")) () ")")))) () ")")) (argument_list "(ppppppiVar29,ppppppiVar26)" (( "(") (identifier "ppppppiVar29") (, ",") (identifier "ppppppiVar26") () ")")))) (; ";")) (expression_statement "iVar20 = iVar7 << 4;" (assignment_expression "iVar20 = iVar7 << 4" (identifier "iVar20") (= "=") (binary_expression "iVar7 << 4" (identifier "iVar7") (<< "<<") (number_literal "4"))) (; ";")) (} "}")))) (expression_statement "puVar5 = PTR_LAB_00190ba8;" (assignment_expression "puVar5 = PTR_LAB_00190ba8" (identifier "puVar5") (= "=") (identifier "PTR_LAB_00190ba8")) (; ";")) (expression_statement "cVar1 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar1 = *(char *)((int)param_1 + 0x8e)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)((int)param_1 + 0x8e)" (* "*") (cast_expression "(char *)((int)param_1 + 0x8e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x8e)" (( "(") (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x8e")) () ")"))))) (; ";")) (expression_statement "ppppppiVar32 = (int ******)param_2[4];" (assignment_expression "ppppppiVar32 = (int ******)param_2[4]" (identifier "ppppppiVar32") (= "=") (cast_expression "(int ******)param_2[4]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_2[4]" (identifier "param_2") ([ "[") (number_literal "4") (] "]")))) (; ";")) (expression_statement "ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);" (assignment_expression "ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20)" (identifier "ppppppiVar8") (= "=") (pointer_expression "*(int *******)((int)ppppppiVar29[4] + iVar20)" (* "*") (cast_expression "(int *******)((int)ppppppiVar29[4] + iVar20)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)ppppppiVar29[4] + iVar20)" (( "(") (binary_expression "(int)ppppppiVar29[4] + iVar20" (cast_expression "(int)ppppppiVar29[4]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar29[4]" (identifier "ppppppiVar29") ([ "[") (number_literal "4") (] "]"))) (+ "+") (identifier "iVar20")) () ")"))))) (; ";")) (if_statement "if (ppppppiVar32 != (int ******)0x0) {\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }" (if "if") (parenthesized_expression "(ppppppiVar32 != (int ******)0x0)" (( "(") (binary_expression "ppppppiVar32 != (int ******)0x0" (identifier "ppppppiVar32") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);\n      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);\n      do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);\n      ppppppiVar26 = (int ******)param_2[0x12];\n    }" ({ "{") (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -0x729c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-0x729c")) () ")")))) (; ";")) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c)" (identifier "pcVar10") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0xb3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0xb3c)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0xb3c" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0xb3c")) () ")")))) (; ";")) (expression_statement "pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);" (assignment_expression "pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c)" (identifier "pcVar11") (= "=") (cast_expression "(code *)(PTR_LAB_00190bcc + -0x6e1c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bcc + -0x6e1c)" (( "(") (binary_expression "PTR_LAB_00190bcc + -0x6e1c" (identifier "PTR_LAB_00190bcc") (+ "+") (number_literal "-0x6e1c")) () ")")))) (; ";")) (do_statement "do {\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      } while (ppppppiVar32 != (int ******)0x0);" (do "do") (compound_statement "{\n        while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }\n        cVar2 = *(char *)((int)param_1 + 0x8e);\nLAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }\n        ppppppiVar25 = &local_34;\n        if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = &local_38;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = ppppppiVar13;\n        ppppppiVar27 = ppppppiVar32;\n        iVar20 = (*pcVar9)();\n        in_stack_ffffff80 = ppppppiVar25;\n        if (iVar20 != 0) goto LAB_00109d58;\n        local_40 = local_34;\n        if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }\n        iVar20 = 0;\n        bVar19 = false;\n        ppppppiVar27 = (int ******)local_40;\n        if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }\n        in_stack_ffffff80 = (int ******)*ppppppiVar13;\n        ppppppiVar26 = (int ******)0x0;\n        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);\n        param_1[10] = (int *****)((int)param_1[10] + 1);\n        if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }\n        if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }\n        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;\n        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);\n        ppppppiVar32 = (int ******)ppppppiVar32[1];\n      }" ({ "{") (while_statement "while( true ) {\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          local_34 = (int *****)0x0;\n          local_38 = (int *****)0x0;\n          ppppppiVar27 = (int ******)ppppppiVar32[2];\n          if (param_5 == (int ******)0x0) break;\n          ppppppiVar12 = ppppppiVar27;\n          if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }\n          if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }\nLAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];\n          if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }\n        }" ({ "{") (expression_statement "local_34 = (int *****)0x0;" (assignment_expression "local_34 = (int *****)0x0" (identifier "local_34") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_38 = (int *****)0x0;" (assignment_expression "local_38 = (int *****)0x0" (identifier "local_38") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppiVar27 = (int ******)ppppppiVar32[2];" (assignment_expression "ppppppiVar27 = (int ******)ppppppiVar32[2]" (identifier "ppppppiVar27") (= "=") (cast_expression "(int ******)ppppppiVar32[2]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppiVar32[2]" (identifier "ppppppiVar32") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (param_5 == (int ******)0x0) break;" (if "if") (parenthesized_expression "(param_5 == (int ******)0x0)" (( "(") (binary_expression "param_5 == (int ******)0x0" (identifier "param_5") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "ppppppiVar12 = ppppppiVar27;" (assignment_expression "ppppppiVar12 = ppppppiVar27" (identifier "ppppppiVar12") (= "=") (identifier "ppppppiVar27")) (; ";")) (if_statement "if (*param_2 == (int *****)0x0) {\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }\n          else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" (if "if") (parenthesized_expression "(*param_2 == (int *****)0x0)" (( "(") (binary_expression "*param_2 == (int *****)0x0" (pointer_expression "*param_2" (* "*") (identifier "param_2")) (== "==") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\njoined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;\n          }" ({ "{") (labeled_statement "joined_r0x00109ec0:\n            if (ppppppiVar12 == (int ******)0x0) break;" (statement_identifier "joined_r0x00109ec0") (: ":") (if_statement "if (ppppppiVar12 == (int ******)0x0) break;" (if "if") (parenthesized_expression "(ppppppiVar12 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar12 == (int ******)0x0" (identifier "ppppppiVar12") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}")) (else_clause "else if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" (else "else") (if_statement "if (ppppppiVar27 != (int ******)0x0) {\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" (if "if") (parenthesized_expression "(ppppppiVar27 != (int ******)0x0)" (( "(") (binary_expression "ppppppiVar27 != (int ******)0x0" (identifier "ppppppiVar27") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;\n            goto joined_r0x00109ec0;\n          }" ({ "{") (expression_statement "ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)\n            ;" (assignment_expression "ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" (identifier "ppppppiVar12") (= "=") (cast_expression "(int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x20c8))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x20c8)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x20c8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x20c8)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x20c8" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x20c8")) () ")")))) () ")")) (argument_list "(*param_2,ppppppiVar27)" (( "(") (pointer_expression "*param_2" (* "*") (identifier "param_2")) (, ",") (identifier "ppppppiVar27") () ")"))))) (; ";")) (goto_statement "goto joined_r0x00109ec0;" (goto "goto") (statement_identifier "joined_r0x00109ec0") (; ";")) (} "}"))))) (if_statement "if (0 < (int)ppppppiVar32[5]) {\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }" (if "if") (parenthesized_expression "(0 < (int)ppppppiVar32[5])" (( "(") (binary_expression "0 < (int)ppppppiVar32[5]" (number_literal "0") (< "<") (cast_expression "(int)ppppppiVar32[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar32[5]" (identifier "ppppppiVar32") ([ "[") (number_literal "5") (] "]")))) () ")")) (compound_statement "{\n            ppppppiVar12 = (int ******)ppppppiVar32[9];\n            ppppppiVar23 = ppppppiVar32 + 0xb;\n            if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }\n            break;\n          }" ({ "{") (expression_statement "ppppppiVar12 = (int ******)ppppppiVar32[9];" (assignment_expression "ppppppiVar12 = (int ******)ppppppiVar32[9]" (identifier "ppppppiVar12") (= "=") (cast_expression "(int ******)ppppppiVar32[9]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppiVar32[9]" (identifier "ppppppiVar32") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "ppppppiVar23 = ppppppiVar32 + 0xb;" (assignment_expression "ppppppiVar23 = ppppppiVar32 + 0xb" (identifier "ppppppiVar23") (= "=") (binary_expression "ppppppiVar32 + 0xb" (identifier "ppppppiVar32") (+ "+") (number_literal "0xb"))) (; ";")) (if_statement "if ((int)param_5[(int)ppppppiVar12] < 0) {\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }" (if "if") (parenthesized_expression "((int)param_5[(int)ppppppiVar12] < 0)" (( "(") (binary_expression "(int)param_5[(int)ppppppiVar12] < 0" (cast_expression "(int)param_5[(int)ppppppiVar12]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_5[(int)ppppppiVar12]" (identifier "param_5") ([ "[") (cast_expression "(int)ppppppiVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar12")) (] "]"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);\n              pppppiVar28 = (int *****)0x0;\n              do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);\n            }" ({ "{") (expression_statement "ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);" (assignment_expression "ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10)" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)(int)*(short *)(param_2 + 10)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (cast_expression "(int)*(short *)(param_2 + 10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(param_2 + 10)" (* "*") (cast_expression "(short *)(param_2 + 10)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 10)" (( "(") (binary_expression "param_2 + 10" (identifier "param_2") (+ "+") (number_literal "10")) () ")"))))))) (; ";")) (expression_statement "pppppiVar28 = (int *****)0x0;" (assignment_expression "pppppiVar28 = (int *****)0x0" (identifier "pppppiVar28") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (do_statement "do {\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              } while ((int)param_5[(int)ppppppiVar12] < 0);" (do "do") (compound_statement "{\n                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }\n                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);\n                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;\n                ppppppiVar12 = (int ******)*ppppppiVar23;\n                ppppppiVar23 = ppppppiVar23 + 2;\n              }" ({ "{") (if_statement "if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }" (if "if") (parenthesized_expression "((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0))" (( "(") (binary_expression "(ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)" (parenthesized_expression "(ppppppiVar26 == ppppppiVar12)" (( "(") (binary_expression "ppppppiVar26 == ppppppiVar12" (identifier "ppppppiVar26") (== "==") (identifier "ppppppiVar12")) () ")")) (&& "&&") (parenthesized_expression "(param_6 != (int ******)0x0)" (( "(") (binary_expression "param_6 != (int ******)0x0" (identifier "param_6") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n                  cVar2 = *(char *)((int)param_1 + 0x8e);\n                  goto LAB_00109d04;\n                }" ({ "{") (expression_statement "cVar2 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar2 = *(char *)((int)param_1 + 0x8e)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)((int)param_1 + 0x8e)" (* "*") (cast_expression "(char *)((int)param_1 + 0x8e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x8e)" (( "(") (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x8e")) () ")"))))) (; ";")) (goto_statement "goto LAB_00109d04;" (goto "goto") (statement_identifier "LAB_00109d04") (; ";")) (} "}"))) (expression_statement "pppppiVar28 = (int *****)((int)pppppiVar28 + 1);" (assignment_expression "pppppiVar28 = (int *****)((int)pppppiVar28 + 1)" (identifier "pppppiVar28") (= "=") (cast_expression "(int *****)((int)pppppiVar28 + 1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppiVar28 + 1)" (( "(") (binary_expression "(int)pppppiVar28 + 1" (cast_expression "(int)pppppiVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar28")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;" (if "if") (parenthesized_expression "(pppppiVar28 == ppppppiVar32[5])" (( "(") (binary_expression "pppppiVar28 == ppppppiVar32[5]" (identifier "pppppiVar28") (== "==") (subscript_expression "ppppppiVar32[5]" (identifier "ppppppiVar32") ([ "[") (number_literal "5") (] "]"))) () ")")) (goto_statement "goto LAB_00109d78;" (goto "goto") (statement_identifier "LAB_00109d78") (; ";"))) (expression_statement "ppppppiVar12 = (int ******)*ppppppiVar23;" (assignment_expression "ppppppiVar12 = (int ******)*ppppppiVar23" (identifier "ppppppiVar12") (= "=") (cast_expression "(int ******)*ppppppiVar23" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppiVar23" (* "*") (identifier "ppppppiVar23")))) (; ";")) (expression_statement "ppppppiVar23 = ppppppiVar23 + 2;" (assignment_expression "ppppppiVar23 = ppppppiVar23 + 2" (identifier "ppppppiVar23") (= "=") (binary_expression "ppppppiVar23 + 2" (identifier "ppppppiVar23") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)param_5[(int)ppppppiVar12] < 0)" (( "(") (binary_expression "(int)param_5[(int)ppppppiVar12] < 0" (cast_expression "(int)param_5[(int)ppppppiVar12]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_5[(int)ppppppiVar12]" (identifier "param_5") ([ "[") (cast_expression "(int)ppppppiVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar12")) (] "]"))) (< "<") (number_literal "0")) () ")")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "LAB_00109d78:\n          ppppppiVar32 = (int ******)ppppppiVar32[1];" (statement_identifier "LAB_00109d78") (: ":") (expression_statement "ppppppiVar32 = (int ******)ppppppiVar32[1];" (assignment_expression "ppppppiVar32 = (int ******)ppppppiVar32[1]" (identifier "ppppppiVar32") (= "=") (cast_expression "(int ******)ppppppiVar32[1]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppiVar32[1]" (identifier "ppppppiVar32") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (if_statement "if (ppppppiVar32 == (int ******)0x0) {\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }" (if "if") (parenthesized_expression "(ppppppiVar32 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar32 == (int ******)0x0" (identifier "ppppppiVar32") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppppiVar26 = (int ******)param_2[0x12];\n            goto LAB_00109d88;\n          }" ({ "{") (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)param_2[0x12]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (goto_statement "goto LAB_00109d88;" (goto "goto") (statement_identifier "LAB_00109d88") (; ";")) (} "}"))) (} "}"))) (expression_statement "cVar2 = *(char *)((int)param_1 + 0x8e);" (assignment_expression "cVar2 = *(char *)((int)param_1 + 0x8e)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)((int)param_1 + 0x8e)" (* "*") (cast_expression "(char *)((int)param_1 + 0x8e)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_1 + 0x8e)" (( "(") (binary_expression "(int)param_1 + 0x8e" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "0x8e")) () ")"))))) (; ";")) (labeled_statement "LAB_00109d04:\n        if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" (statement_identifier "LAB_00109d04") (: ":") (if_statement "if (cVar2 == '\0') {\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }\n        else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          ppppppiVar23 = (int ******)0x0;\n          ppppppiVar12 = param_1;\n          ppppppiVar26 = ppppppiVar8;\n          ppppppiVar13 = (int ******)FUN_001083a4();\n        }" ({ "{") (expression_statement "ppppppiVar23 = (int ******)0x0;" (assignment_expression "ppppppiVar23 = (int ******)0x0" (identifier "ppppppiVar23") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" (identifier "ppppppiVar12") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppppppiVar26 = ppppppiVar8;" (assignment_expression "ppppppiVar26 = ppppppiVar8" (identifier "ppppppiVar26") (= "=") (identifier "ppppppiVar8")) (; ";")) (expression_statement "ppppppiVar13 = (int ******)FUN_001083a4();" (assignment_expression "ppppppiVar13 = (int ******)FUN_001083a4()" (identifier "ppppppiVar13") (= "=") (cast_expression "(int ******)FUN_001083a4()" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "FUN_001083a4()" (identifier "FUN_001083a4") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" (else "else") (compound_statement "{\n          ppppppiVar12 = ppppppiVar29;\n          ppppppiVar25 = ppppppiVar8;\n          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();\n          ppppppiVar23 = ppppppiVar27;\n          ppppppiVar27 = ppppppiVar25;\n        }" ({ "{") (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" (identifier "ppppppiVar12") (= "=") (identifier "ppppppiVar29")) (; ";")) (expression_statement "ppppppiVar25 = ppppppiVar8;" (assignment_expression "ppppppiVar25 = ppppppiVar8" (identifier "ppppppiVar25") (= "=") (identifier "ppppppiVar8")) (; ";")) (expression_statement "ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();" (assignment_expression "ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" (identifier "ppppppiVar13") (= "=") (cast_expression "(int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190ba8 + 0x218c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190ba8 + 0x218c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190ba8 + 0x218c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190ba8 + 0x218c)" (( "(") (binary_expression "PTR_LAB_00190ba8 + 0x218c" (identifier "PTR_LAB_00190ba8") (+ "+") (number_literal "0x218c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppppiVar23 = ppppppiVar27;" (assignment_expression "ppppppiVar23 = ppppppiVar27" (identifier "ppppppiVar23") (= "=") (identifier "ppppppiVar27")) (; ";")) (expression_statement "ppppppiVar27 = ppppppiVar25;" (assignment_expression "ppppppiVar27 = ppppppiVar25" (identifier "ppppppiVar27") (= "=") (identifier "ppppppiVar25")) (; ";")) (} "}"))))) (expression_statement "ppppppiVar25 = &local_34;" (assignment_expression "ppppppiVar25 = &local_34" (identifier "ppppppiVar25") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (if_statement "if (ppppppiVar13 == (int ******)0x0) {\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" (if "if") (parenthesized_expression "(ppppppiVar13 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar13 == (int ******)0x0" (identifier "ppppppiVar13") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }\n          goto LAB_00109e60;\n        }" ({ "{") (labeled_statement "LAB_00109d58:\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" (statement_identifier "LAB_00109d58") (: ":") (if_statement "if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" (if "if") (parenthesized_expression "((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0'))" (( "(") (binary_expression "(cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)ppppppiVar29 + 0x51) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar29 + 0x51)" (* "*") (cast_expression "(char *)((int)ppppppiVar29 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar29 + 0x51)" (( "(") (binary_expression "(int)ppppppiVar29 + 0x51" (cast_expression "(int)ppppppiVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar29")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }\n            goto LAB_00109d78;\n          }" ({ "{") (if_statement "if (ppppppiVar13 == (int ******)0x0) {\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }" (if "if") (parenthesized_expression "(ppppppiVar13 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar13 == (int ******)0x0" (identifier "ppppppiVar13") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              local_5c = (int ****)param_1[2];\n              if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }\n              puVar6 = PTR_LAB_00190bc0;\n              pppppiVar28 = ppppppiVar32[5];\n              ppppiVar17 = (int ****)local_5c[0x1b];\n              if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }\n              local_40 = (int *****)(puVar6 + 0x10fc);\n              ppppppiVar26 = (int ******)0xffffffff;\n              in_stack_ffffff80 = (int ******)0x0;\n              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));\n            }" ({ "{") (expression_statement "local_5c = (int ****)param_1[2];" (assignment_expression "local_5c = (int ****)param_1[2]" (identifier "local_5c") (= "=") (cast_expression "(int ****)param_1[2]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if ((int *****)local_5c == (int *****)0x0) {\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }" (if "if") (parenthesized_expression "((int *****)local_5c == (int *****)0x0)" (( "(") (binary_expression "(int *****)local_5c == (int *****)0x0" (cast_expression "(int *****)local_5c" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_5c")) (== "==") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);\n              }" ({ "{") (expression_statement "local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);" (assignment_expression "local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (identifier "local_5c") (= "=") (cast_expression "(int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (call_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc0 + 0x1274))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc0 + 0x1274)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x1274)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x1274)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x1274" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x1274")) () ")")))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (} "}"))) (expression_statement "puVar6 = PTR_LAB_00190bc0;" (assignment_expression "puVar6 = PTR_LAB_00190bc0" (identifier "puVar6") (= "=") (identifier "PTR_LAB_00190bc0")) (; ";")) (expression_statement "pppppiVar28 = ppppppiVar32[5];" (assignment_expression "pppppiVar28 = ppppppiVar32[5]" (identifier "pppppiVar28") (= "=") (subscript_expression "ppppppiVar32[5]" (identifier "ppppppiVar32") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "ppppiVar17 = (int ****)local_5c[0x1b];" (assignment_expression "ppppiVar17 = (int ****)local_5c[0x1b]" (identifier "ppppiVar17") (= "=") (cast_expression "(int ****)local_5c[0x1b]" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (subscript_expression "local_5c[0x1b]" (identifier "local_5c") ([ "[") (number_literal "0x1b") (] "]")))) (; ";")) (if_statement "if (0 < (int)pppppiVar28) {\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }" (if "if") (parenthesized_expression "(0 < (int)pppppiVar28)" (( "(") (binary_expression "0 < (int)pppppiVar28" (number_literal "0") (< "<") (cast_expression "(int)pppppiVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar28"))) () ")")) (compound_statement "{\n                ppppppiVar27 = ppppppiVar32 + 9;\n                iVar20 = 0;\n                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);\n                do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);\n              }" ({ "{") (expression_statement "ppppppiVar27 = ppppppiVar32 + 9;" (assignment_expression "ppppppiVar27 = ppppppiVar32 + 9" (identifier "ppppppiVar27") (= "=") (binary_expression "ppppppiVar32 + 9" (identifier "ppppppiVar32") (+ "+") (number_literal "9"))) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);" (assignment_expression "pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc)" (identifier "pcVar14") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc0 + 0x10fc)" (( "(") (binary_expression "PTR_LAB_00190bc0 + 0x10fc" (identifier "PTR_LAB_00190bc0") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (do_statement "do {\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                } while (iVar20 < (int)ppppppiVar32[5]);" (do "do") (compound_statement "{\n                  pppppiVar30 = *ppppppiVar27;\n                  iVar20 = iVar20 + 1;\n                  ppppppiVar27 = ppppppiVar27 + 2;\n                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);\n                }" ({ "{") (expression_statement "pppppiVar30 = *ppppppiVar27;" (assignment_expression "pppppiVar30 = *ppppppiVar27" (identifier "pppppiVar30") (= "=") (pointer_expression "*ppppppiVar27" (* "*") (identifier "ppppppiVar27"))) (; ";")) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppiVar27 = ppppppiVar27 + 2;" (assignment_expression "ppppppiVar27 = ppppppiVar27 + 2" (identifier "ppppppiVar27") (= "=") (binary_expression "ppppppiVar27 + 2" (identifier "ppppppiVar27") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "(*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);" (call_expression "(*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0)" (parenthesized_expression "(*pcVar14)" (( "(") (pointer_expression "*pcVar14" (* "*") (identifier "pcVar14")) () ")")) (argument_list "(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),\n                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0)" (( "(") (identifier "local_5c") (, ",") (number_literal "0x32") (, ",") (cast_expression "(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_3 + (int)pppppiVar30 + 1)" (( "(") (binary_expression "(int)param_3 + (int)pppppiVar30 + 1" (binary_expression "(int)param_3 + (int)pppppiVar30" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (+ "+") (cast_expression "(int)pppppiVar30" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar30"))) (+ "+") (number_literal "1")) () ")"))) (, ",") (binary_expression "(int)pppppiVar28 + (int)ppppiVar17 + 1" (binary_expression "(int)pppppiVar28 + (int)ppppiVar17" (cast_expression "(int)pppppiVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar28")) (+ "+") (cast_expression "(int)ppppiVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar17"))) (+ "+") (number_literal "1")) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 < (int)ppppppiVar32[5])" (( "(") (binary_expression "iVar20 < (int)ppppppiVar32[5]" (identifier "iVar20") (< "<") (cast_expression "(int)ppppppiVar32[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar32[5]" (identifier "ppppppiVar32") ([ "[") (number_literal "5") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "local_40 = (int *****)(puVar6 + 0x10fc);" (assignment_expression "local_40 = (int *****)(puVar6 + 0x10fc)" (identifier "local_40") (= "=") (cast_expression "(int *****)(puVar6 + 0x10fc)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar6 + 0x10fc)" (( "(") (binary_expression "puVar6 + 0x10fc" (identifier "puVar6") (+ "+") (number_literal "0x10fc")) () ")")))) (; ";")) (expression_statement "ppppppiVar26 = (int ******)0xffffffff;" (assignment_expression "ppppppiVar26 = (int ******)0xffffffff" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)0xffffffff" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "in_stack_ffffff80 = (int ******)0x0;" (assignment_expression "in_stack_ffffff80 = (int ******)0x0" (identifier "in_stack_ffffff80") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));" (call_expression "(*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6))" (parenthesized_expression "(*(code *)local_40)" (( "(") (pointer_expression "*(code *)local_40" (* "*") (cast_expression "(code *)local_40" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_40"))) () ")")) (argument_list "(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6))" (( "(") (identifier "local_5c") (, ",") (number_literal "0x96") (, ",") (pointer_expression "*(undefined1 *)(ppppppiVar32 + 6)" (* "*") (cast_expression "(undefined1 *)(ppppppiVar32 + 6)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppiVar32 + 6)" (( "(") (binary_expression "ppppppiVar32 + 6" (identifier "ppppppiVar32") (+ "+") (number_literal "6")) () ")")))) () ")"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00109d78;" (goto "goto") (statement_identifier "LAB_00109d78") (; ";")) (} "}")))) (goto_statement "goto LAB_00109e60;" (goto "goto") (statement_identifier "LAB_00109e60") (; ";")) (} "}"))) (expression_statement "ppppppiVar26 = &local_38;" (assignment_expression "ppppppiVar26 = &local_38" (identifier "ppppppiVar26") (= "=") (pointer_expression "&local_38" (& "&") (identifier "local_38"))) (; ";")) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" (identifier "ppppppiVar12") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppppppiVar23 = ppppppiVar13;" (assignment_expression "ppppppiVar23 = ppppppiVar13" (identifier "ppppppiVar23") (= "=") (identifier "ppppppiVar13")) (; ";")) (expression_statement "ppppppiVar27 = ppppppiVar32;" (assignment_expression "ppppppiVar27 = ppppppiVar32" (identifier "ppppppiVar27") (= "=") (identifier "ppppppiVar32")) (; ";")) (expression_statement "iVar20 = (*pcVar9)();" (assignment_expression "iVar20 = (*pcVar9)()" (identifier "iVar20") (= "=") (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "in_stack_ffffff80 = ppppppiVar25;" (assignment_expression "in_stack_ffffff80 = ppppppiVar25" (identifier "in_stack_ffffff80") (= "=") (identifier "ppppppiVar25")) (; ";")) (if_statement "if (iVar20 != 0) goto LAB_00109d58;" (if "if") (parenthesized_expression "(iVar20 != 0)" (( "(") (binary_expression "iVar20 != 0" (identifier "iVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00109d58;" (goto "goto") (statement_identifier "LAB_00109d58") (; ";"))) (expression_statement "local_40 = local_34;" (assignment_expression "local_40 = local_34" (identifier "local_40") (= "=") (identifier "local_34")) (; ";")) (if_statement "if ((int ******)local_34 == (int ******)0x0) {\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }" (if "if") (parenthesized_expression "((int ******)local_34 == (int ******)0x0)" (( "(") (binary_expression "(int ******)local_34 == (int ******)0x0" (cast_expression "(int ******)local_34" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34")) (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          local_30 = ppppppiVar32[9];\n          local_40 = (int *****)&local_30;\n        }" ({ "{") (expression_statement "local_30 = ppppppiVar32[9];" (assignment_expression "local_30 = ppppppiVar32[9]" (identifier "local_30") (= "=") (subscript_expression "ppppppiVar32[9]" (identifier "ppppppiVar32") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "local_40 = (int *****)&local_30;" (assignment_expression "local_40 = (int *****)&local_30" (identifier "local_40") (= "=") (cast_expression "(int *****)&local_30" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&local_30" (& "&") (identifier "local_30")))) (; ";")) (} "}"))) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" (identifier "bVar19") (= "=") (false "false")) (; ";")) (expression_statement "ppppppiVar27 = (int ******)local_40;" (assignment_expression "ppppppiVar27 = (int ******)local_40" (identifier "ppppppiVar27") (= "=") (cast_expression "(int ******)local_40" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_40"))) (; ";")) (if_statement "if (0 < (int)ppppppiVar32[5]) {\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }" (if "if") (parenthesized_expression "(0 < (int)ppppppiVar32[5])" (( "(") (binary_expression "0 < (int)ppppppiVar32[5]" (number_literal "0") (< "<") (cast_expression "(int)ppppppiVar32[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar32[5]" (identifier "ppppppiVar32") ([ "[") (number_literal "5") (] "]")))) () ")")) (compound_statement "{\n          do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);\n        }" ({ "{") (do_statement "do {\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          } while (iVar20 < (int)ppppppiVar32[5]);" (do "do") (compound_statement "{\n            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }\n            if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }\n            iVar20 = iVar20 + 1;\n            ppppppiVar27 = ppppppiVar27 + 1;\n          }" ({ "{") (if_statement "if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }" (if "if") (parenthesized_expression "(*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10))" (( "(") (binary_expression "*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)" (pointer_expression "*ppppppiVar27" (* "*") (identifier "ppppppiVar27")) (== "==") (cast_expression "(int *****)(int)*(short *)(param_2 + 10)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(int)*(short *)(param_2 + 10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)(param_2 + 10)" (* "*") (cast_expression "(short *)(param_2 + 10)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 10)" (( "(") (binary_expression "param_2 + 10" (identifier "param_2") (+ "+") (number_literal "10")) () ")"))))))) () ")")) (compound_statement "{\n              *ppppppiVar27 = (int *****)0xffffffff;\n            }" ({ "{") (expression_statement "*ppppppiVar27 = (int *****)0xffffffff;" (assignment_expression "*ppppppiVar27 = (int *****)0xffffffff" (pointer_expression "*ppppppiVar27" (* "*") (identifier "ppppppiVar27")) (= "=") (cast_expression "(int *****)0xffffffff" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}"))) (if_statement "if (ppppppiVar29[0x50] != (int *****)0x0) {\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }" (if "if") (parenthesized_expression "(ppppppiVar29[0x50] != (int *****)0x0)" (( "(") (binary_expression "ppppppiVar29[0x50] != (int *****)0x0" (subscript_expression "ppppppiVar29[0x50]" (identifier "ppppppiVar29") ([ "[") (number_literal "0x50") (] "]")) (!= "!=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }\n              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);\n              bVar19 = iVar22 == 2;\n            }" ({ "{") (if_statement "if ((int ******)local_38 == (int ******)0x0) {\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }\n              else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" (if "if") (parenthesized_expression "((int ******)local_38 == (int ******)0x0)" (( "(") (binary_expression "(int ******)local_38 == (int ******)0x0" (cast_expression "(int ******)local_38" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38")) (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                sVar4 = *(short *)(ppppppiVar13 + 10);\n              }" ({ "{") (expression_statement "sVar4 = *(short *)(ppppppiVar13 + 10);" (assignment_expression "sVar4 = *(short *)(ppppppiVar13 + 10)" (identifier "sVar4") (= "=") (pointer_expression "*(short *)(ppppppiVar13 + 10)" (* "*") (cast_expression "(short *)(ppppppiVar13 + 10)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppiVar13 + 10)" (( "(") (binary_expression "ppppppiVar13 + 10" (identifier "ppppppiVar13") (+ "+") (number_literal "10")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" (else "else") (compound_statement "{\n                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);\n              }" ({ "{") (expression_statement "sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);" (assignment_expression "sVar4 = *(short *)((int)local_38[1] + iVar20 * 2)" (identifier "sVar4") (= "=") (pointer_expression "*(short *)((int)local_38[1] + iVar20 * 2)" (* "*") (cast_expression "(short *)((int)local_38[1] + iVar20 * 2)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_38[1] + iVar20 * 2)" (( "(") (binary_expression "(int)local_38[1] + iVar20 * 2" (cast_expression "(int)local_38[1]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "local_38[1]" (identifier "local_38") ([ "[") (number_literal "1") (] "]"))) (+ "+") (binary_expression "iVar20 * 2" (identifier "iVar20") (* "*") (number_literal "2"))) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);" (assignment_expression "iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" (identifier "iVar22") (= "=") (call_expression "(*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7)" (( "(") (identifier "param_1") (, ",") (pointer_expression "*ppppppiVar13" (* "*") (identifier "ppppppiVar13")) (, ",") (subscript_expression "ppppppiVar13[1][sVar4 * 4]" (subscript_expression "ppppppiVar13[1]" (identifier "ppppppiVar13") ([ "[") (number_literal "1") (] "]")) ([ "[") (binary_expression "sVar4 * 4" (identifier "sVar4") (* "*") (number_literal "4")) (] "]")) (, ",") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "bVar19 = iVar22 == 2;" (assignment_expression "bVar19 = iVar22 == 2" (identifier "bVar19") (= "=") (binary_expression "iVar22 == 2" (identifier "iVar22") (== "==") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar20 = iVar20 + 1;" (assignment_expression "iVar20 = iVar20 + 1" (identifier "iVar20") (= "=") (binary_expression "iVar20 + 1" (identifier "iVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppiVar27 = ppppppiVar27 + 1;" (assignment_expression "ppppppiVar27 = ppppppiVar27 + 1" (identifier "ppppppiVar27") (= "=") (binary_expression "ppppppiVar27 + 1" (identifier "ppppppiVar27") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar20 < (int)ppppppiVar32[5])" (( "(") (binary_expression "iVar20 < (int)ppppppiVar32[5]" (identifier "iVar20") (< "<") (cast_expression "(int)ppppppiVar32[5]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar32[5]" (identifier "ppppppiVar32") ([ "[") (number_literal "5") (] "]")))) () ")")) (; ";")) (} "}"))) (expression_statement "in_stack_ffffff80 = (int ******)*ppppppiVar13;" (assignment_expression "in_stack_ffffff80 = (int ******)*ppppppiVar13" (identifier "in_stack_ffffff80") (= "=") (cast_expression "(int ******)*ppppppiVar13" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*ppppppiVar13" (* "*") (identifier "ppppppiVar13")))) (; ";")) (expression_statement "ppppppiVar26 = (int ******)0x0;" (assignment_expression "ppppppiVar26 = (int ******)0x0" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "(*pcVar10)(param_1,iVar7,ppppppiVar13[7]);" (call_expression "(*pcVar10)(param_1,iVar7,ppppppiVar13[7])" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(param_1,iVar7,ppppppiVar13[7])" (( "(") (identifier "param_1") (, ",") (identifier "iVar7") (, ",") (subscript_expression "ppppppiVar13[7]" (identifier "ppppppiVar13") ([ "[") (number_literal "7") (] "]")) () ")"))) (; ";")) (expression_statement "param_1[10] = (int *****)((int)param_1[10] + 1);" (assignment_expression "param_1[10] = (int *****)((int)param_1[10] + 1)" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int *****)((int)param_1[10] + 1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)param_1[10] + 1)" (( "(") (binary_expression "(int)param_1[10] + 1" (cast_expression "(int)param_1[10]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (param_3 != (int ******)0x0) {\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }" (if "if") (parenthesized_expression "(param_3 != (int ******)0x0)" (( "(") (binary_expression "param_3 != (int ******)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uStack_71 = 0xff;\n          local_7c = local_40;\n          ppppppiVar26 = (int ******)local_38;\n          in_stack_ffffff80 = ppppppiVar32;\n          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n          local_78 = param_3;\n          uStack_6d = bVar19;\n        }" ({ "{") (expression_statement "uStack_71 = 0xff;" (assignment_expression "uStack_71 = 0xff" (identifier "uStack_71") (= "=") (number_literal "0xff")) (; ";")) (expression_statement "local_7c = local_40;" (assignment_expression "local_7c = local_40" (identifier "local_7c") (= "=") (identifier "local_40")) (; ";")) (expression_statement "ppppppiVar26 = (int ******)local_38;" (assignment_expression "ppppppiVar26 = (int ******)local_38" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)local_38" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38"))) (; ";")) (expression_statement "in_stack_ffffff80 = ppppppiVar32;" (assignment_expression "in_stack_ffffff80 = ppppppiVar32" (identifier "in_stack_ffffff80") (= "=") (identifier "ppppppiVar32")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x45fc" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x45fc")) () ")")))) () ")")) (argument_list "(param_1,iVar7,ppppppiVar13)" (( "(") (identifier "param_1") (, ",") (identifier "iVar7") (, ",") (identifier "ppppppiVar13") () ")"))) (; ";")) (expression_statement "local_78 = param_3;" (assignment_expression "local_78 = param_3" (identifier "local_78") (= "=") (identifier "param_3")) (; ";")) (expression_statement "uStack_6d = bVar19;" (assignment_expression "uStack_6d = bVar19" (identifier "uStack_6d") (= "=") (identifier "bVar19")) (; ";")) (} "}"))) (if_statement "if (param_4 != (int ******)0x0) {\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }" (if "if") (parenthesized_expression "(param_4 != (int ******)0x0)" (( "(") (binary_expression "param_4 != (int ******)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppiVar27 = (int ******)param_1[0x1d];\n          if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }\n          if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }\n        }" ({ "{") (expression_statement "ppppppiVar27 = (int ******)param_1[0x1d];" (assignment_expression "ppppppiVar27 = (int ******)param_1[0x1d]" (identifier "ppppppiVar27") (= "=") (cast_expression "(int ******)param_1[0x1d]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (if_statement "if ((int ******)param_1[0x1d] == (int ******)0x0) {\n            ppppppiVar27 = param_1;\n          }" (if "if") (parenthesized_expression "((int ******)param_1[0x1d] == (int ******)0x0)" (( "(") (binary_expression "(int ******)param_1[0x1d] == (int ******)0x0" (cast_expression "(int ******)param_1[0x1d]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            ppppppiVar27 = param_1;\n          }" ({ "{") (expression_statement "ppppppiVar27 = param_1;" (assignment_expression "ppppppiVar27 = param_1" (identifier "ppppppiVar27") (= "=") (identifier "param_1")) (; ";")) (} "}"))) (if_statement "if ((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))\n          {\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }" (if "if") (parenthesized_expression "((ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))" (( "(") (binary_expression "(ppppppiVar27[0x40] == (int *****)0x0) ||\n             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))))" (parenthesized_expression "(ppppppiVar27[0x40] == (int *****)0x0)" (( "(") (binary_expression "ppppppiVar27[0x40] == (int *****)0x0" (subscript_expression "ppppppiVar27[0x40]" (identifier "ppppppiVar27") ([ "[") (number_literal "0x40") (] "]")) (== "==") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))))" (( "(") (parenthesized_expression "((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))" (( "(") (binary_expression "(pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&\n              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))" (parenthesized_expression "(pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b'))" (( "(") (comma_expression "pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (assignment_expression "pppppiVar28 = (int *****)*ppppppiVar27[0x40]" (identifier "pppppiVar28") (= "=") (cast_expression "(int *****)*ppppppiVar27[0x40]" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "*ppppppiVar27[0x40]" (* "*") (subscript_expression "ppppppiVar27[0x40]" (identifier "ppppppiVar27") ([ "[") (number_literal "0x40") (] "]"))))) (, ",") (binary_expression "pppppiVar28 != ppppppiVar32[7] ||\n               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (binary_expression "pppppiVar28 != ppppppiVar32[7]" (identifier "pppppiVar28") (!= "!=") (subscript_expression "ppppppiVar32[7]" (identifier "ppppppiVar32") ([ "[") (number_literal "7") (] "]"))) (|| "||") (parenthesized_expression "(*(char *)((int)ppppppiVar32 + 0x19) != '\b')" (( "(") (binary_expression "*(char *)((int)ppppppiVar32 + 0x19) != '\b'" (pointer_expression "*(char *)((int)ppppppiVar32 + 0x19)" (* "*") (cast_expression "(char *)((int)ppppppiVar32 + 0x19)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar32 + 0x19)" (( "(") (binary_expression "(int)ppppppiVar32 + 0x19" (cast_expression "(int)ppppppiVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar32")) (+ "+") (number_literal "0x19")) () ")")))) (!= "!=") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) () ")")))) () ")")) (&& "&&") (parenthesized_expression "((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')))" (( "(") (parenthesized_expression "(pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))" (( "(") (binary_expression "pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b')" (binary_expression "pppppiVar28 != ppppppiVar32[8]" (identifier "pppppiVar28") (!= "!=") (subscript_expression "ppppppiVar32[8]" (identifier "ppppppiVar32") ([ "[") (number_literal "8") (] "]"))) (|| "||") (parenthesized_expression "(*(char *)((int)ppppppiVar32 + 0x1a) != '\b')" (( "(") (binary_expression "*(char *)((int)ppppppiVar32 + 0x1a) != '\b'" (pointer_expression "*(char *)((int)ppppppiVar32 + 0x1a)" (* "*") (cast_expression "(char *)((int)ppppppiVar32 + 0x1a)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar32 + 0x1a)" (( "(") (binary_expression "(int)ppppppiVar32 + 0x1a" (cast_expression "(int)ppppppiVar32" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar32")) (+ "+") (number_literal "0x1a")) () ")")))) (!= "!=") (char_literal "'\b'" (' "'") (escape_sequence "\b") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            uStack_71 = 1;\n            local_7c = local_40;\n            ppppppiVar26 = (int ******)local_38;\n            in_stack_ffffff80 = ppppppiVar32;\n            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);\n            local_78 = param_4;\n            uStack_6d = bVar19;\n          }" ({ "{") (expression_statement "uStack_71 = 1;" (assignment_expression "uStack_71 = 1" (identifier "uStack_71") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_7c = local_40;" (assignment_expression "local_7c = local_40" (identifier "local_7c") (= "=") (identifier "local_40")) (; ";")) (expression_statement "ppppppiVar26 = (int ******)local_38;" (assignment_expression "ppppppiVar26 = (int ******)local_38" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)local_38" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_38"))) (; ";")) (expression_statement "in_stack_ffffff80 = ppppppiVar32;" (assignment_expression "in_stack_ffffff80 = ppppppiVar32" (identifier "in_stack_ffffff80") (= "=") (identifier "ppppppiVar32")) (; ";")) (expression_statement "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);" (call_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13)" (parenthesized_expression "(*(code *)(PTR_LAB_00190bc4 + 0x45fc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190bc4 + 0x45fc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190bc4 + 0x45fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + 0x45fc)" (( "(") (binary_expression "PTR_LAB_00190bc4 + 0x45fc" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "0x45fc")) () ")")))) () ")")) (argument_list "(param_1,iVar7,ppppppiVar13)" (( "(") (identifier "param_1") (, ",") (identifier "iVar7") (, ",") (identifier "ppppppiVar13") () ")"))) (; ";")) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" (identifier "local_78") (= "=") (identifier "param_4")) (; ";")) (expression_statement "uStack_6d = bVar19;" (assignment_expression "uStack_6d = bVar19" (identifier "uStack_6d") (= "=") (identifier "bVar19")) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;" (if "if") (parenthesized_expression "((int ******)local_34 == (int ******)0x0)" (( "(") (binary_expression "(int ******)local_34 == (int ******)0x0" (cast_expression "(int ******)local_34" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34")) (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00109d78;" (goto "goto") (statement_identifier "LAB_00109d78") (; ";"))) (expression_statement "(*(code *)(puVar5 + -0x2368))(ppppppiVar29);" (call_expression "(*(code *)(puVar5 + -0x2368))(ppppppiVar29)" (parenthesized_expression "(*(code *)(puVar5 + -0x2368))" (( "(") (pointer_expression "*(code *)(puVar5 + -0x2368)" (* "*") (cast_expression "(code *)(puVar5 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x2368)" (( "(") (binary_expression "puVar5 + -0x2368" (identifier "puVar5") (+ "+") (number_literal "-0x2368")) () ")")))) () ")")) (argument_list "(ppppppiVar29)" (( "(") (identifier "ppppppiVar29") () ")"))) (; ";")) (expression_statement "ppppppiVar32 = (int ******)ppppppiVar32[1];" (assignment_expression "ppppppiVar32 = (int ******)ppppppiVar32[1]" (identifier "ppppppiVar32") (= "=") (cast_expression "(int ******)ppppppiVar32[1]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppiVar32[1]" (identifier "ppppppiVar32") ([ "[") (number_literal "1") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(ppppppiVar32 != (int ******)0x0)" (( "(") (binary_expression "ppppppiVar32 != (int ******)0x0" (identifier "ppppppiVar32") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "ppppppiVar26 = (int ******)param_2[0x12];" (assignment_expression "ppppppiVar26 = (int ******)param_2[0x12]" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)param_2[0x12]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_2[0x12]" (identifier "param_2") ([ "[") (number_literal "0x12") (] "]")))) (; ";")) (} "}"))) (labeled_statement "LAB_00109d88:\n    ppppppiVar27 = (int ******)0x0;" (statement_identifier "LAB_00109d88") (: ":") (expression_statement "ppppppiVar27 = (int ******)0x0;" (assignment_expression "ppppppiVar27 = (int ******)0x0" (identifier "ppppppiVar27") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppppiVar23 = (int ******)*param_2;" (assignment_expression "ppppppiVar23 = (int ******)*param_2" (identifier "ppppppiVar23") (= "=") (cast_expression "(int ******)*param_2" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (pointer_expression "*param_2" (* "*") (identifier "param_2")))) (; ";")) (expression_statement "ppppppiVar12 = ppppppiVar26 + 0xe;" (assignment_expression "ppppppiVar12 = ppppppiVar26 + 0xe" (identifier "ppppppiVar12") (= "=") (binary_expression "ppppppiVar26 + 0xe" (identifier "ppppppiVar26") (+ "+") (number_literal "0xe"))) (; ";")) (expression_statement "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))()" (identifier "iVar7") (= "=") (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x16c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x16c)" (* "*") (cast_expression "(code *)(PTR_LAB_00190b40 + 0x16c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190b40 + 0x16c)" (( "(") (binary_expression "PTR_LAB_00190b40 + 0x16c" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "0x16c")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar5 = PTR_LAB_00190ba8;" (assignment_expression "puVar5 = PTR_LAB_00190ba8" (identifier "puVar5") (= "=") (identifier "PTR_LAB_00190ba8")) (; ";")) (expression_statement "ppppppiVar8 = *(int *******)(iVar7 + 8);" (assignment_expression "ppppppiVar8 = *(int *******)(iVar7 + 8)" (identifier "ppppppiVar8") (= "=") (pointer_expression "*(int *******)(iVar7 + 8)" (* "*") (cast_expression "(int *******)(iVar7 + 8)" (( "(") (type_descriptor "int *******" (primitive_type "int") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (ppppppiVar8 != (int ******)0x0) {\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" (if "if") (parenthesized_expression "(ppppppiVar8 != (int ******)0x0)" (( "(") (binary_expression "ppppppiVar8 != (int ******)0x0" (identifier "ppppppiVar8") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);\n      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);\n      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);\nLAB_00109dd8:\n      local_34 = (int *****)0x0;\n      local_30 = (int *****)0x0;\n      if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }\nLAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];\nLAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;\n      goto LAB_00109dd8;\n    }" ({ "{") (expression_statement "pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);" (assignment_expression "pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c)" (identifier "pcVar11") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x729c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -0x729c)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -0x729c" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-0x729c")) () ")")))) (; ";")) (expression_statement "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);" (assignment_expression "pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194)" (identifier "pcVar9") (= "=") (cast_expression "(code *)(PTR_LAB_00190bc4 + -0x4194)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bc4 + -0x4194)" (( "(") (binary_expression "PTR_LAB_00190bc4 + -0x4194" (identifier "PTR_LAB_00190bc4") (+ "+") (number_literal "-0x4194")) () ")")))) (; ";")) (expression_statement "pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);" (assignment_expression "pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c)" (identifier "pcVar10") (= "=") (cast_expression "(code *)(PTR_LAB_00190bb8 + -0x210c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190bb8 + -0x210c)" (( "(") (binary_expression "PTR_LAB_00190bb8 + -0x210c" (identifier "PTR_LAB_00190bb8") (+ "+") (number_literal "-0x210c")) () ")")))) (; ";")) (labeled_statement "LAB_00109dd8:\n      local_34 = (int *****)0x0;" (statement_identifier "LAB_00109dd8") (: ":") (expression_statement "local_34 = (int *****)0x0;" (assignment_expression "local_34 = (int *****)0x0" (identifier "local_34") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "local_30 = (int *****)0x0;" (assignment_expression "local_30 = (int *****)0x0" (identifier "local_30") (= "=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }" (if "if") (parenthesized_expression "((param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0))" (( "(") (binary_expression "(param_5 == (int ******)0x0) ||\n         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)" (parenthesized_expression "(param_5 == (int ******)0x0)" (( "(") (binary_expression "param_5 == (int ******)0x0" (identifier "param_5") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)" (( "(") (comma_expression "ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar12 = param_2" (identifier "ppppppiVar12") (= "=") (identifier "param_2")) (, ",") (comma_expression "ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar23 = ppppppiVar8" (identifier "ppppppiVar23") (= "=") (identifier "ppppppiVar8")) (, ",") (comma_expression "ppppppiVar27 = param_5,\n         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar27 = param_5" (identifier "ppppppiVar27") (= "=") (identifier "param_5")) (, ",") (comma_expression "ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "ppppppiVar26 = param_6" (identifier "ppppppiVar26") (= "=") (identifier "param_6")) (, ",") (comma_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0" (assignment_expression "iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))()" (identifier "iVar7") (= "=") (call_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))()" (parenthesized_expression "(*(code *)(PTR_LAB_00190b40 + 0x25dc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_00190b40 + 0x25dc)" (* "*") (cast_expression "(code *)(PTR_LAB_00190b40 + 0x25dc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_00190b40 + 0x25dc)" (( "(") (binary_expression "PTR_LAB_00190b40 + 0x25dc" (identifier "PTR_LAB_00190b40") (+ "+") (number_literal "0x25dc")) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0"))))))) () ")"))) () ")")) (compound_statement "{\n        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }\n        in_stack_ffffff80 = &local_30;\n        ppppppiVar26 = &local_34;\n        ppppppiVar12 = param_1;\n        ppppppiVar23 = param_2;\n        ppppppiVar27 = ppppppiVar8;\n        iVar7 = (*pcVar11)();\n        if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }\n        ppppppiVar26 = (int ******)0x0;\n        ppppppiVar27 = (int ******)0x0;\n        ppppppiVar12 = param_1;\n        iVar7 = (*pcVar9)(param_1,0);\n        if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }\n        ppppppiVar23 = (int ******)local_30;\n        if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }\n      }" ({ "{") (if_statement "if ((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))) {\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }" (if "if") (parenthesized_expression "((*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0'))))" (( "(") (binary_expression "(*(char *)(ppppppiVar8 + 6) == '\0') &&\n           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))" (parenthesized_expression "(*(char *)(ppppppiVar8 + 6) == '\0')" (( "(") (binary_expression "*(char *)(ppppppiVar8 + 6) == '\0'" (pointer_expression "*(char *)(ppppppiVar8 + 6)" (* "*") (cast_expression "(char *)(ppppppiVar8 + 6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppiVar8 + 6)" (( "(") (binary_expression "ppppppiVar8 + 6" (identifier "ppppppiVar8") (+ "+") (number_literal "6")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')))" (( "(") (parenthesized_expression "((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0'))" (( "(") (binary_expression "(-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&\n            (*(char *)(param_1 + 5) == '\0')" (parenthesized_expression "(-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0))" (( "(") (binary_expression "-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)" (binary_expression "-1 < (int)ppppppiVar29[9] << 0xc" (number_literal "-1") (< "<") (binary_expression "(int)ppppppiVar29[9] << 0xc" (cast_expression "(int)ppppppiVar29[9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar29[9]" (identifier "ppppppiVar29") ([ "[") (number_literal "9") (] "]"))) (<< "<<") (number_literal "0xc"))) (&& "&&") (parenthesized_expression "(param_1[0x1d] == (int *****)0x0)" (( "(") (binary_expression "param_1[0x1d] == (int *****)0x0" (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")) (== "==") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(param_1 + 5) == '\0')" (( "(") (binary_expression "*(char *)(param_1 + 5) == '\0'" (pointer_expression "*(char *)(param_1 + 5)" (* "*") (cast_expression "(char *)(param_1 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 5)" (( "(") (binary_expression "param_1 + 5" (identifier "param_1") (+ "+") (number_literal "5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          ppppppiVar8 = (int ******)ppppppiVar8[3];\n          goto LAB_0010a250;\n        }" ({ "{") (expression_statement "ppppppiVar8 = (int ******)ppppppiVar8[3];" (assignment_expression "ppppppiVar8 = (int ******)ppppppiVar8[3]" (identifier "ppppppiVar8") (= "=") (cast_expression "(int ******)ppppppiVar8[3]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppiVar8[3]" (identifier "ppppppiVar8") ([ "[") (number_literal "3") (] "]")))) (; ";")) (goto_statement "goto LAB_0010a250;" (goto "goto") (statement_identifier "LAB_0010a250") (; ";")) (} "}"))) (expression_statement "in_stack_ffffff80 = &local_30;" (assignment_expression "in_stack_ffffff80 = &local_30" (identifier "in_stack_ffffff80") (= "=") (pointer_expression "&local_30" (& "&") (identifier "local_30"))) (; ";")) (expression_statement "ppppppiVar26 = &local_34;" (assignment_expression "ppppppiVar26 = &local_34" (identifier "ppppppiVar26") (= "=") (pointer_expression "&local_34" (& "&") (identifier "local_34"))) (; ";")) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" (identifier "ppppppiVar12") (= "=") (identifier "param_1")) (; ";")) (expression_statement "ppppppiVar23 = param_2;" (assignment_expression "ppppppiVar23 = param_2" (identifier "ppppppiVar23") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppppppiVar27 = ppppppiVar8;" (assignment_expression "ppppppiVar27 = ppppppiVar8" (identifier "ppppppiVar27") (= "=") (identifier "ppppppiVar8")) (; ";")) (expression_statement "iVar7 = (*pcVar11)();" (assignment_expression "iVar7 = (*pcVar11)()" (identifier "iVar7") (= "=") (call_expression "(*pcVar11)()" (parenthesized_expression "(*pcVar11)" (( "(") (pointer_expression "*pcVar11" (* "*") (identifier "pcVar11")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;\n          goto LAB_00109e60;\n        }" ({ "{") (if_statement "if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;" (if "if") (parenthesized_expression "((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0'))" (( "(") (binary_expression "(cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (parenthesized_expression "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)((int)ppppppiVar29 + 0x51) == '\0')" (( "(") (binary_expression "*(char *)((int)ppppppiVar29 + 0x51) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar29 + 0x51)" (* "*") (cast_expression "(char *)((int)ppppppiVar29 + 0x51)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar29 + 0x51)" (( "(") (binary_expression "(int)ppppppiVar29 + 0x51" (cast_expression "(int)ppppppiVar29" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar29")) (+ "+") (number_literal "0x51")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (goto_statement "goto LAB_0010a24c;" (goto "goto") (statement_identifier "LAB_0010a24c") (; ";"))) (goto_statement "goto LAB_00109e60;" (goto "goto") (statement_identifier "LAB_00109e60") (; ";")) (} "}"))) (expression_statement "ppppppiVar26 = (int ******)0x0;" (assignment_expression "ppppppiVar26 = (int ******)0x0" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppiVar27 = (int ******)0x0;" (assignment_expression "ppppppiVar27 = (int ******)0x0" (identifier "ppppppiVar27") (= "=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" (identifier "ppppppiVar12") (= "=") (identifier "param_1")) (; ";")) (expression_statement "iVar7 = (*pcVar9)(param_1,0);" (assignment_expression "iVar7 = (*pcVar9)(param_1,0)" (identifier "iVar7") (= "=") (call_expression "(*pcVar9)(param_1,0)" (parenthesized_expression "(*pcVar9)" (( "(") (pointer_expression "*pcVar9" (* "*") (identifier "pcVar9")) () ")")) (argument_list "(param_1,0)" (( "(") (identifier "param_1") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (iVar7 != 0) {\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }" (if "if") (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          pppppiVar28 = *ppppppiVar8;\n          *(int ******)(iVar7 + 0x18) = pppppiVar28;\n          *(int *****)(iVar7 + 0x10) = *pppppiVar28;\n          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);\n          pppppiVar28 = param_1[10];\n          param_1[10] = (int *****)((int)pppppiVar28 + 1);\n          *(int ******)(iVar7 + 0x30) = pppppiVar28;\n          if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }\n          if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }\n          *(undefined4 *)(iVar7 + 0x10) = 0;\n          ppppppiVar12 = ppppppiVar29;\n          (*pcVar10)(ppppppiVar29,iVar7);\n        }" ({ "{") (expression_statement "pppppiVar28 = *ppppppiVar8;" (assignment_expression "pppppiVar28 = *ppppppiVar8" (identifier "pppppiVar28") (= "=") (pointer_expression "*ppppppiVar8" (* "*") (identifier "ppppppiVar8"))) (; ";")) (expression_statement "*(int ******)(iVar7 + 0x18) = pppppiVar28;" (assignment_expression "*(int ******)(iVar7 + 0x18) = pppppiVar28" (pointer_expression "*(int ******)(iVar7 + 0x18)" (* "*") (cast_expression "(int ******)(iVar7 + 0x18)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pppppiVar28")) (; ";")) (expression_statement "*(int *****)(iVar7 + 0x10) = *pppppiVar28;" (assignment_expression "*(int *****)(iVar7 + 0x10) = *pppppiVar28" (pointer_expression "*(int *****)(iVar7 + 0x10)" (* "*") (cast_expression "(int *****)(iVar7 + 0x10)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (pointer_expression "*pppppiVar28" (* "*") (identifier "pppppiVar28"))) (; ";")) (expression_statement "pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);" (assignment_expression "pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1)" (subscript_expression "pppppiVar28[8]" (identifier "pppppiVar28") ([ "[") (number_literal "8") (] "]")) (= "=") (cast_expression "(int ****)((int)pppppiVar28[8] + 1)" (( "(") (type_descriptor "int ****" (primitive_type "int") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)pppppiVar28[8] + 1)" (( "(") (binary_expression "(int)pppppiVar28[8] + 1" (cast_expression "(int)pppppiVar28[8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[8]" (identifier "pppppiVar28") ([ "[") (number_literal "8") (] "]"))) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pppppiVar28 = param_1[10];" (assignment_expression "pppppiVar28 = param_1[10]" (identifier "pppppiVar28") (= "=") (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]"))) (; ";")) (expression_statement "param_1[10] = (int *****)((int)pppppiVar28 + 1);" (assignment_expression "param_1[10] = (int *****)((int)pppppiVar28 + 1)" (subscript_expression "param_1[10]" (identifier "param_1") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int *****)((int)pppppiVar28 + 1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppiVar28 + 1)" (( "(") (binary_expression "(int)pppppiVar28 + 1" (cast_expression "(int)pppppiVar28" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar28")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int ******)(iVar7 + 0x30) = pppppiVar28;" (assignment_expression "*(int ******)(iVar7 + 0x30) = pppppiVar28" (pointer_expression "*(int ******)(iVar7 + 0x30)" (* "*") (cast_expression "(int ******)(iVar7 + 0x30)" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(iVar7 + 0x30)" (( "(") (binary_expression "iVar7 + 0x30" (identifier "iVar7") (+ "+") (number_literal "0x30")) () ")")))) (= "=") (identifier "pppppiVar28")) (; ";")) (if_statement "if (param_4 != (int ******)0x0) {\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }" (if "if") (parenthesized_expression "(param_4 != (int ******)0x0)" (( "(") (binary_expression "param_4 != (int ******)0x0" (identifier "param_4") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            uStack_71 = 0xff;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_4;\n          }" ({ "{") (expression_statement "uStack_71 = 0xff;" (assignment_expression "uStack_71 = 0xff" (identifier "uStack_71") (= "=") (number_literal "0xff")) (; ";")) (expression_statement "local_7c = local_30;" (assignment_expression "local_7c = local_30" (identifier "local_7c") (= "=") (identifier "local_30")) (; ";")) (expression_statement "ppppppiVar27 = param_2;" (assignment_expression "ppppppiVar27 = param_2" (identifier "ppppppiVar27") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppppppiVar26 = (int ******)local_34;" (assignment_expression "ppppppiVar26 = (int ******)local_34" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)local_34" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "in_stack_ffffff80 = ppppppiVar8;" (assignment_expression "in_stack_ffffff80 = ppppppiVar8" (identifier "in_stack_ffffff80") (= "=") (identifier "ppppppiVar8")) (; ";")) (expression_statement "FUN_000f5dd4(param_1,iVar7);" (call_expression "FUN_000f5dd4(param_1,iVar7)" (identifier "FUN_000f5dd4") (argument_list "(param_1,iVar7)" (( "(") (identifier "param_1") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "local_78 = param_4;" (assignment_expression "local_78 = param_4" (identifier "local_78") (= "=") (identifier "param_4")) (; ";")) (} "}"))) (if_statement "if (param_3 != (int ******)0x0) {\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }" (if "if") (parenthesized_expression "(param_3 != (int ******)0x0)" (( "(") (binary_expression "param_3 != (int ******)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);\n            uStack_71 = 1;\n            local_7c = local_30;\n            ppppppiVar27 = param_2;\n            ppppppiVar26 = (int ******)local_34;\n            in_stack_ffffff80 = ppppppiVar8;\n            FUN_000f5dd4(param_1,iVar7);\n            local_78 = param_3;\n            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }\n          }" ({ "{") (expression_statement "bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);" (assignment_expression "bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" (* "*") (cast_expression "(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19)" (( "(") (binary_expression "(int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19" (binary_expression "(int)ppppppiVar8 + (param_5 != (int ******)0x0)" (cast_expression "(int)ppppppiVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar8")) (+ "+") (parenthesized_expression "(param_5 != (int ******)0x0)" (( "(") (binary_expression "param_5 != (int ******)0x0" (identifier "param_5") (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")"))) (+ "+") (number_literal "0x19")) () ")"))))) (; ";")) (expression_statement "uStack_71 = 1;" (assignment_expression "uStack_71 = 1" (identifier "uStack_71") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_7c = local_30;" (assignment_expression "local_7c = local_30" (identifier "local_7c") (= "=") (identifier "local_30")) (; ";")) (expression_statement "ppppppiVar27 = param_2;" (assignment_expression "ppppppiVar27 = param_2" (identifier "ppppppiVar27") (= "=") (identifier "param_2")) (; ";")) (expression_statement "ppppppiVar26 = (int ******)local_34;" (assignment_expression "ppppppiVar26 = (int ******)local_34" (identifier "ppppppiVar26") (= "=") (cast_expression "(int ******)local_34" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_34"))) (; ";")) (expression_statement "in_stack_ffffff80 = ppppppiVar8;" (assignment_expression "in_stack_ffffff80 = ppppppiVar8" (identifier "in_stack_ffffff80") (= "=") (identifier "ppppppiVar8")) (; ";")) (expression_statement "FUN_000f5dd4(param_1,iVar7);" (call_expression "FUN_000f5dd4(param_1,iVar7)" (identifier "FUN_000f5dd4") (argument_list "(param_1,iVar7)" (( "(") (identifier "param_1") (, ",") (identifier "iVar7") () ")"))) (; ";")) (expression_statement "local_78 = param_3;" (assignment_expression "local_78 = param_3" (identifier "local_78") (= "=") (identifier "param_3")) (; ";")) (if_statement "if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }" (if "if") (parenthesized_expression "((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8))" (( "(") (binary_expression "(*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)" (parenthesized_expression "(*(char *)(ppppppiVar8 + 6) == '\0')" (( "(") (binary_expression "*(char *)(ppppppiVar8 + 6) == '\0'" (pointer_expression "*(char *)(ppppppiVar8 + 6)" (* "*") (cast_expression "(char *)(ppppppiVar8 + 6)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(ppppppiVar8 + 6)" (( "(") (binary_expression "ppppppiVar8 + 6" (identifier "ppppppiVar8") (+ "+") (number_literal "6")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((bVar3 & 0xfd) != 8)" (( "(") (binary_expression "(bVar3 & 0xfd) != 8" (parenthesized_expression "(bVar3 & 0xfd)" (( "(") (binary_expression "bVar3 & 0xfd" (identifier "bVar3") (& "&") (number_literal "0xfd")) () ")")) (!= "!=") (number_literal "8")) () ")"))) () ")")) (compound_statement "{\n              ppppppiVar12 = (int ******)param_1[0x1d];\n              if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }\n              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;\n            }" ({ "{") (expression_statement "ppppppiVar12 = (int ******)param_1[0x1d];" (assignment_expression "ppppppiVar12 = (int ******)param_1[0x1d]" (identifier "ppppppiVar12") (= "=") (cast_expression "(int ******)param_1[0x1d]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]")))) (; ";")) (if_statement "if ((int ******)param_1[0x1d] == (int ******)0x0) {\n                ppppppiVar12 = param_1;\n              }" (if "if") (parenthesized_expression "((int ******)param_1[0x1d] == (int ******)0x0)" (( "(") (binary_expression "(int ******)param_1[0x1d] == (int ******)0x0" (cast_expression "(int ******)param_1[0x1d]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "param_1[0x1d]" (identifier "param_1") ([ "[") (number_literal "0x1d") (] "]"))) (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                ppppppiVar12 = param_1;\n              }" ({ "{") (expression_statement "ppppppiVar12 = param_1;" (assignment_expression "ppppppiVar12 = param_1" (identifier "ppppppiVar12") (= "=") (identifier "param_1")) (; ";")) (} "}"))) (expression_statement "*(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;" (assignment_expression "*(undefined1 *)((int)ppppppiVar12 + 0x15) = 1" (pointer_expression "*(undefined1 *)((int)ppppppiVar12 + 0x15)" (* "*") (cast_expression "(undefined1 *)((int)ppppppiVar12 + 0x15)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar12 + 0x15)" (( "(") (binary_expression "(int)ppppppiVar12 + 0x15" (cast_expression "(int)ppppppiVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar12")) (+ "+") (number_literal "0x15")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(undefined4 *)(iVar7 + 0x10) = 0;" (assignment_expression "*(undefined4 *)(iVar7 + 0x10) = 0" (pointer_expression "*(undefined4 *)(iVar7 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" (identifier "ppppppiVar12") (= "=") (identifier "ppppppiVar29")) (; ";")) (expression_statement "(*pcVar10)(ppppppiVar29,iVar7);" (call_expression "(*pcVar10)(ppppppiVar29,iVar7)" (parenthesized_expression "(*pcVar10)" (( "(") (pointer_expression "*pcVar10" (* "*") (identifier "pcVar10")) () ")")) (argument_list "(ppppppiVar29,iVar7)" (( "(") (identifier "ppppppiVar29") (, ",") (identifier "iVar7") () ")"))) (; ";")) (} "}"))) (expression_statement "ppppppiVar23 = (int ******)local_30;" (assignment_expression "ppppppiVar23 = (int ******)local_30" (identifier "ppppppiVar23") (= "=") (cast_expression "(int ******)local_30" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_30"))) (; ";")) (if_statement "if ((int ******)local_30 != (int ******)0x0) {\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }" (if "if") (parenthesized_expression "((int ******)local_30 != (int ******)0x0)" (( "(") (binary_expression "(int ******)local_30 != (int ******)0x0" (cast_expression "(int ******)local_30" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "local_30")) (!= "!=") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppppppiVar12 = ppppppiVar29;\n          (*(code *)(puVar5 + -0x2368))();\n        }" ({ "{") (expression_statement "ppppppiVar12 = ppppppiVar29;" (assignment_expression "ppppppiVar12 = ppppppiVar29" (identifier "ppppppiVar12") (= "=") (identifier "ppppppiVar29")) (; ";")) (expression_statement "(*(code *)(puVar5 + -0x2368))();" (call_expression "(*(code *)(puVar5 + -0x2368))()" (parenthesized_expression "(*(code *)(puVar5 + -0x2368))" (( "(") (pointer_expression "*(code *)(puVar5 + -0x2368)" (* "*") (cast_expression "(code *)(puVar5 + -0x2368)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar5 + -0x2368)" (( "(") (binary_expression "puVar5 + -0x2368" (identifier "puVar5") (+ "+") (number_literal "-0x2368")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0010a24c:\n      ppppppiVar8 = (int ******)ppppppiVar8[3];" (statement_identifier "LAB_0010a24c") (: ":") (expression_statement "ppppppiVar8 = (int ******)ppppppiVar8[3];" (assignment_expression "ppppppiVar8 = (int ******)ppppppiVar8[3]" (identifier "ppppppiVar8") (= "=") (cast_expression "(int ******)ppppppiVar8[3]" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (subscript_expression "ppppppiVar8[3]" (identifier "ppppppiVar8") ([ "[") (number_literal "3") (] "]")))) (; ";"))) (labeled_statement "LAB_0010a250:\n      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;" (statement_identifier "LAB_0010a250") (: ":") (if_statement "if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;" (if "if") (parenthesized_expression "(ppppppiVar8 == (int ******)0x0)" (( "(") (binary_expression "ppppppiVar8 == (int ******)0x0" (identifier "ppppppiVar8") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_00109e60;" (goto "goto") (statement_identifier "LAB_00109e60") (; ";")))) (goto_statement "goto LAB_00109dd8;" (goto "goto") (statement_identifier "LAB_00109dd8") (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00109e60:\n  if (local_2c == *(int *)puVar33) {\n    return;\n  }" (statement_identifier "LAB_00109e60") (: ":") (if_statement "if (local_2c == *(int *)puVar33) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar33)" (( "(") (binary_expression "local_2c == *(int *)puVar33" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar33" (* "*") (cast_expression "(int *)puVar33" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar33")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "puVar33 = PTR___stack_chk_fail_00190df8;" (assignment_expression "puVar33 = PTR___stack_chk_fail_00190df8" (identifier "puVar33") (= "=") (identifier "PTR___stack_chk_fail_00190df8")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00190df8)();" (call_expression "(*(code *)PTR___stack_chk_fail_00190df8)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00190df8)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00190df8" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00190df8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00190df8"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);" (assignment_expression "pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1)" (identifier "pppppiVar30") (= "=") (cast_expression "(int *****)((int)ppppppiVar12[0xe] + -1)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppppiVar12[0xe] + -1)" (( "(") (binary_expression "(int)ppppppiVar12[0xe] + -1" (cast_expression "(int)ppppppiVar12[0xe]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppppppiVar12[0xe]" (identifier "ppppppiVar12") ([ "[") (number_literal "0xe") (] "]"))) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "ppppppiVar12[0xe] = pppppiVar30;" (assignment_expression "ppppppiVar12[0xe] = pppppiVar30" (subscript_expression "ppppppiVar12[0xe]" (identifier "ppppppiVar12") ([ "[") (number_literal "0xe") (] "]")) (= "=") (identifier "pppppiVar30")) (; ";")) (expression_statement "uVar21 = 0x1c;" (assignment_expression "uVar21 = 0x1c" (identifier "uVar21") (= "=") (number_literal "0x1c")) (; ";")) (expression_statement "pppppiVar28 = ppppppiVar12[2];" (assignment_expression "pppppiVar28 = ppppppiVar12[2]" (identifier "pppppiVar28") (= "=") (subscript_expression "ppppppiVar12[2]" (identifier "ppppppiVar12") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if (((uint)ppppppiVar23[9] & 0x20) == 0) {\n    uVar21 = 0x1f;\n  }" (if "if") (parenthesized_expression "(((uint)ppppppiVar23[9] & 0x20) == 0)" (( "(") (binary_expression "((uint)ppppppiVar23[9] & 0x20) == 0" (parenthesized_expression "((uint)ppppppiVar23[9] & 0x20)" (( "(") (binary_expression "(uint)ppppppiVar23[9] & 0x20" (cast_expression "(uint)ppppppiVar23[9]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "ppppppiVar23[9]" (identifier "ppppppiVar23") ([ "[") (number_literal "9") (] "]"))) (& "&") (number_literal "0x20")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    uVar21 = 0x1f;\n  }" ({ "{") (expression_statement "uVar21 = 0x1f;" (assignment_expression "uVar21 = 0x1f" (identifier "uVar21") (= "=") (number_literal "0x1f")) (; ";")) (} "}"))) (if_statement "if (cStack_69 == '\0') {\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }" (if "if") (parenthesized_expression "(cStack_69 == '\0')" (( "(") (binary_expression "cStack_69 == '\0'" (identifier "cStack_69") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n  }" ({ "{") (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0x13a0)" (( "(") (binary_expression "*(int *)(puVar33 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar33 + 0x86810)" (* "*") (cast_expression "(int *)(puVar33 + 0x86810)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86810)" (( "(") (binary_expression "puVar33 + 0x86810" (identifier "puVar33") (+ "+") (number_literal "0x86810")) () ")")))) (+ "+") (number_literal "0x13a0")) () ")")))) () ")")) (argument_list "(pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (( "(") (identifier "pppppiVar28") (, ",") (identifier "uVar21") (, ",") (identifier "ppppppiVar26") (, ",") (identifier "pppppiVar30") (, ",") (identifier "local_7c") (, ",") (cast_expression "(int)local_78._2_2_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_78._2_2_" (identifier "local_78") (. ".") (field_identifier "_2_2_"))) () ")"))) (; ";")) (} "}"))) (expression_statement "pppppiStack_d0 = (int *****)&_gp_1;" (assignment_expression "pppppiStack_d0 = (int *****)&_gp_1" (identifier "pppppiStack_d0") (= "=") (cast_expression "(int *****)&_gp_1" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")))) (; ";")) (expression_statement "iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);" (assignment_expression "iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0)" (identifier "iVar7") (= "=") (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x867f4) + -0x3768)" (( "(") (binary_expression "*(int *)(puVar33 + 0x867f4) + -0x3768" (pointer_expression "*(int *)(puVar33 + 0x867f4)" (* "*") (cast_expression "(int *)(puVar33 + 0x867f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x867f4)" (( "(") (binary_expression "puVar33 + 0x867f4" (identifier "puVar33") (+ "+") (number_literal "0x867f4")) () ")")))) (+ "+") (number_literal "-0x3768")) () ")")))) () ")")) (argument_list "(*ppppppiVar12,ppppppiVar23,0,0)" (( "(") (pointer_expression "*ppppppiVar12" (* "*") (identifier "ppppppiVar12")) (, ",") (identifier "ppppppiVar23") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }\n  else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" (if "if") (parenthesized_expression "((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0))" (( "(") (binary_expression "(iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)" (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)" (( "(") (comma_expression "iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86818)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar33 + 0x86818)" (* "*") (cast_expression "(int *)(puVar33 + 0x86818)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86818)" (( "(") (binary_expression "puVar33 + 0x86818" (identifier "puVar33") (+ "+") (number_literal "0x86818")) () ")"))))) (, ",") (binary_expression "ppppppiVar27 == (int ******)0x0" (identifier "ppppppiVar27") (== "==") (cast_expression "(int ******)0x0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n    pppppiVar31 = ppppppiVar23[3];\n    iVar20 = 0;\n  }" ({ "{") (expression_statement "pppppiVar31 = ppppppiVar23[3];" (assignment_expression "pppppiVar31 = ppppppiVar23[3]" (identifier "pppppiVar31") (= "=") (subscript_expression "ppppppiVar23[3]" (identifier "ppppppiVar23") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "iVar20 = 0;" (assignment_expression "iVar20 = 0" (identifier "iVar20") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" (else "else") (compound_statement "{\n    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);\n    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }\n    pppppiVar31 = ppppppiVar12[0xb];\n    iVar7 = *(int *)(puVar33 + 0x86810);\n    iVar20 = (int)pppppiVar31 + 1;\n    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);\n    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);\n    uVar16 = 0;\n    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n    if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }\n    ppppiVar17 = pppppiVar28[0x1b];\n    iVar7 = *(int *)(puVar33 + 0x86818);\n    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);\n    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }\n    FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);\n    pppppiVar31 = ppppppiVar23[3];\n  }" ({ "{") (expression_statement "uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);" (assignment_expression "uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" (identifier "uVar15") (= "=") (call_expression "FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" (identifier "FUN_0010c4a8") (argument_list "(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar27") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "3") (, ",") (identifier "ppppppiVar23") (, ",") (identifier "uStack_6d") () ")")))) (; ";")) (if_statement "if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }" (if "if") (parenthesized_expression "(((uint)(*ppppppiVar12)[9] & 0x4000) != 0)" (( "(") (binary_expression "((uint)(*ppppppiVar12)[9] & 0x4000) != 0" (parenthesized_expression "((uint)(*ppppppiVar12)[9] & 0x4000)" (( "(") (binary_expression "(uint)(*ppppppiVar12)[9] & 0x4000" (subscript_expression "(uint)(*ppppppiVar12)[9]" (call_expression "(uint)(*ppppppiVar12)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*ppppppiVar12)" (( "(") (pointer_expression "*ppppppiVar12" (* "*") (identifier "ppppppiVar12")) () ")"))) ([ "[") (number_literal "9") (] "]")) (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);\n      uVar15 = uVar15 | uVar16;\n    }" ({ "{") (expression_statement "uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);" (assignment_expression "uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23)" (identifier "uVar16") (= "=") (call_expression "(*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x86814) + -0x6eb0)" (( "(") (binary_expression "*(int *)(puVar33 + 0x86814) + -0x6eb0" (pointer_expression "*(int *)(puVar33 + 0x86814)" (* "*") (cast_expression "(int *)(puVar33 + 0x86814)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86814)" (( "(") (binary_expression "puVar33 + 0x86814" (identifier "puVar33") (+ "+") (number_literal "0x86814")) () ")")))) (+ "+") (number_literal "-0x6eb0")) () ")")))) () ")")) (argument_list "(ppppppiVar12,ppppppiVar23)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar23") () ")")))) (; ";")) (expression_statement "uVar15 = uVar15 | uVar16;" (assignment_expression "uVar15 = uVar15 | uVar16" (identifier "uVar15") (= "=") (binary_expression "uVar15 | uVar16" (identifier "uVar15") (| "|") (identifier "uVar16"))) (; ";")) (} "}"))) (expression_statement "pppppiVar31 = ppppppiVar12[0xb];" (assignment_expression "pppppiVar31 = ppppppiVar12[0xb]" (identifier "pppppiVar31") (= "=") (subscript_expression "ppppppiVar12[0xb]" (identifier "ppppppiVar12") ([ "[") (number_literal "0xb") (] "]"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar33 + 0x86810);" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86810)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar33 + 0x86810)" (* "*") (cast_expression "(int *)(puVar33 + 0x86810)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86810)" (( "(") (binary_expression "puVar33 + 0x86810" (identifier "puVar33") (+ "+") (number_literal "0x86810")) () ")"))))) (; ";")) (expression_statement "iVar20 = (int)pppppiVar31 + 1;" (assignment_expression "iVar20 = (int)pppppiVar31 + 1" (identifier "iVar20") (= "=") (binary_expression "(int)pppppiVar31 + 1" (cast_expression "(int)pppppiVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar31")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);" (assignment_expression "ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" (subscript_expression "ppppppiVar12[0xb]" (identifier "ppppppiVar12") ([ "[") (number_literal "0xb") (] "]")) (= "=") (cast_expression "(int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31)" (( "(") (binary_expression "*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31" (binary_expression "*(short *)((int)ppppppiVar23 + 0x2a) + 1" (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" (* "*") (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" (( "(") (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar23")) (+ "+") (number_literal "0x2a")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (cast_expression "(int)pppppiVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar31"))) () ")")))) (; ";")) (expression_statement "(*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);" (call_expression "(*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0)" (parenthesized_expression "(*(code *)(iVar7 + 0x10fc))" (( "(") (pointer_expression "*(code *)(iVar7 + 0x10fc)" (* "*") (cast_expression "(code *)(iVar7 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10fc)" (( "(") (binary_expression "iVar7 + 0x10fc" (identifier "iVar7") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(pppppiVar28,0x4e,local_7c,iVar20,0)" (( "(") (identifier "pppppiVar28") (, ",") (number_literal "0x4e") (, ",") (identifier "local_7c") (, ",") (identifier "iVar20") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "uVar16 = 0;" (assignment_expression "uVar16 = 0" (identifier "uVar16") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);" (assignment_expression "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a)" (identifier "iVar7") (= "=") (cast_expression "(int)*(short *)((int)ppppppiVar23 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" (* "*") (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" (( "(") (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar23")) (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (if_statement "if (0 < iVar7) {\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }" (if "if") (parenthesized_expression "(0 < iVar7)" (( "(") (binary_expression "0 < iVar7" (number_literal "0") (< "<") (identifier "iVar7")) () ")")) (compound_statement "{\n      iVar22 = *(int *)(puVar33 + 0x86814);\n      do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);\n    }" ({ "{") (expression_statement "iVar22 = *(int *)(puVar33 + 0x86814);" (assignment_expression "iVar22 = *(int *)(puVar33 + 0x86814)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(puVar33 + 0x86814)" (* "*") (cast_expression "(int *)(puVar33 + 0x86814)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86814)" (( "(") (binary_expression "puVar33 + 0x86814" (identifier "puVar33") (+ "+") (number_literal "0x86814")) () ")"))))) (; ";")) (do_statement "do {\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      } while ((int)uVar16 < iVar7);" (do "do") (compound_statement "{\n        if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }\n        uVar16 = uVar16 + 1;\n      }" ({ "{") (if_statement "if ((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }" (if "if") (parenthesized_expression "((uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))))" (( "(") (binary_expression "(uVar15 == 0xffffffff) ||\n           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" (parenthesized_expression "(uVar15 == 0xffffffff)" (( "(") (binary_expression "uVar15 == 0xffffffff" (identifier "uVar15") (== "==") (number_literal "0xffffffff")) () ")")) (|| "||") (parenthesized_expression "(((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))" (( "(") (parenthesized_expression "((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0))" (( "(") (binary_expression "(int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)" (binary_expression "(int)uVar16 < 0x20" (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16")) (< "<") (number_literal "0x20")) (&& "&&") (parenthesized_expression "((1 << (uVar16 & 0x1f) & uVar15) != 0)" (( "(") (binary_expression "(1 << (uVar16 & 0x1f) & uVar15) != 0" (parenthesized_expression "(1 << (uVar16 & 0x1f) & uVar15)" (( "(") (binary_expression "1 << (uVar16 & 0x1f) & uVar15" (binary_expression "1 << (uVar16 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (identifier "uVar15")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          (*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);\n          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);\n        }" ({ "{") (expression_statement "(*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);" (call_expression "(*(code *)(iVar22 + 0x4eb8))\n                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2)" (parenthesized_expression "(*(code *)(iVar22 + 0x4eb8))" (( "(") (pointer_expression "*(code *)(iVar22 + 0x4eb8)" (* "*") (cast_expression "(code *)(iVar22 + 0x4eb8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x4eb8)" (( "(") (binary_expression "iVar22 + 0x4eb8" (identifier "iVar22") (+ "+") (number_literal "0x4eb8")) () ")")))) () ")")) (argument_list "(pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2)" (( "(") (identifier "pppppiVar28") (, ",") (identifier "ppppppiVar23") (, ",") (identifier "ppppppiVar26") (, ",") (identifier "uVar16") (, ",") (binary_expression "(int)pppppiVar31 + uVar16 + 2" (binary_expression "(int)pppppiVar31 + uVar16" (cast_expression "(int)pppppiVar31" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiVar31")) (+ "+") (identifier "uVar16")) (+ "+") (number_literal "2")) () ")"))) (; ";")) (expression_statement "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);" (assignment_expression "iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a)" (identifier "iVar7") (= "=") (cast_expression "(int)*(short *)((int)ppppppiVar23 + 0x2a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*(short *)((int)ppppppiVar23 + 0x2a)" (* "*") (cast_expression "(short *)((int)ppppppiVar23 + 0x2a)" (( "(") (type_descriptor "short *" (sized_type_specifier "short" (short "short")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar23 + 0x2a)" (( "(") (binary_expression "(int)ppppppiVar23 + 0x2a" (cast_expression "(int)ppppppiVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar23")) (+ "+") (number_literal "0x2a")) () ")")))))) (; ";")) (} "}"))) (expression_statement "uVar16 = uVar16 + 1;" (assignment_expression "uVar16 = uVar16 + 1" (identifier "uVar16") (= "=") (binary_expression "uVar16 + 1" (identifier "uVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)uVar16 < iVar7)" (( "(") (binary_expression "(int)uVar16 < iVar7" (cast_expression "(int)uVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar16")) (< "<") (identifier "iVar7")) () ")")) (; ";")) (} "}"))) (expression_statement "ppppiVar17 = pppppiVar28[0x1b];" (assignment_expression "ppppiVar17 = pppppiVar28[0x1b]" (identifier "ppppiVar17") (= "=") (subscript_expression "pppppiVar28[0x1b]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar33 + 0x86818);" (assignment_expression "iVar7 = *(int *)(puVar33 + 0x86818)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar33 + 0x86818)" (* "*") (cast_expression "(int *)(puVar33 + 0x86818)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86818)" (( "(") (binary_expression "puVar33 + 0x86818" (identifier "puVar33") (+ "+") (number_literal "0x86818")) () ")"))))) (; ";")) (expression_statement "FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);" (call_expression "FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" (identifier "FUN_0010d314") (argument_list "(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar27") (, ",") (number_literal "0x75") (, ",") (number_literal "0") (, ",") (number_literal "1") (, ",") (identifier "ppppppiVar23") (, ",") (identifier "iVar20") (, ",") (identifier "uStack_6d") (, ",") (identifier "pppppiVar30") () ")"))) (; ";")) (if_statement "if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }" (if "if") (parenthesized_expression "((int)ppppiVar17 < (int)pppppiVar28[0x1b])" (( "(") (binary_expression "(int)ppppiVar17 < (int)pppppiVar28[0x1b]" (cast_expression "(int)ppppiVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppiVar17")) (< "<") (cast_expression "(int)pppppiVar28[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1b]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1b") (] "]")))) () ")")) (compound_statement "{\n      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);\n      pppppiStack_d0 = (int *****)0xffffffff;\n    }" ({ "{") (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))\n                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0x13a0)" (( "(") (binary_expression "*(int *)(puVar33 + 0x86810) + 0x13a0" (pointer_expression "*(int *)(puVar33 + 0x86810)" (* "*") (cast_expression "(int *)(puVar33 + 0x86810)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86810)" (( "(") (binary_expression "puVar33 + 0x86810" (identifier "puVar33") (+ "+") (number_literal "0x86810")) () ")")))) (+ "+") (number_literal "0x13a0")) () ")")))) () ")")) (argument_list "(pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_)" (( "(") (identifier "pppppiVar28") (, ",") (identifier "uVar21") (, ",") (identifier "ppppppiVar26") (, ",") (identifier "pppppiVar30") (, ",") (identifier "local_7c") (, ",") (cast_expression "(int)local_78._2_2_" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (field_expression "local_78._2_2_" (identifier "local_78") (. ".") (field_identifier "_2_2_"))) () ")"))) (; ";")) (expression_statement "pppppiStack_d0 = (int *****)0xffffffff;" (assignment_expression "pppppiStack_d0 = (int *****)0xffffffff" (identifier "pppppiStack_d0") (= "=") (cast_expression "(int *****)0xffffffff" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (} "}"))) (expression_statement "FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);" (call_expression "FUN_00109be4(ppppppiVar12,ppppppiVar23,iVar20,0,0,0)" (identifier "FUN_00109be4") (argument_list "(ppppppiVar12,ppppppiVar23,iVar20,0,0,0)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar23") (, ",") (identifier "iVar20") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "pppppiVar31 = ppppppiVar23[3];" (assignment_expression "pppppiVar31 = ppppppiVar23[3]" (identifier "pppppiVar31") (= "=") (subscript_expression "ppppppiVar23[3]" (identifier "ppppppiVar23") ([ "[") (number_literal "3") (] "]"))) (; ";")) (} "}")))) (if_statement "if (pppppiVar31 == (int *****)0x0) {\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }" (if "if") (parenthesized_expression "(pppppiVar31 == (int *****)0x0)" (( "(") (binary_expression "pppppiVar31 == (int *****)0x0" (identifier "pppppiVar31") (== "==") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);\n    iVar22 = *(int *)(puVar33 + 0x86810);\n    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);\n    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;\n    if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }\n    if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }\n  }" ({ "{") (expression_statement "FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);" (call_expression "FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0)" (identifier "FUN_000ef78c") (argument_list "(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar23") (, ",") (identifier "ppppppiVar26") (, ",") (identifier "in_stack_ffffff80") (, ",") (number_literal "0") (, ",") (identifier "pppppiStack_d0") () ")"))) (; ";")) (expression_statement "iVar22 = *(int *)(puVar33 + 0x86810);" (assignment_expression "iVar22 = *(int *)(puVar33 + 0x86810)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(puVar33 + 0x86810)" (* "*") (cast_expression "(int *)(puVar33 + 0x86810)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86810)" (( "(") (binary_expression "puVar33 + 0x86810" (identifier "puVar33") (+ "+") (number_literal "0x86810")) () ")"))))) (; ";")) (expression_statement "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);" (call_expression "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0)" (parenthesized_expression "(*(code *)(iVar22 + 0x10fc))" (( "(") (pointer_expression "*(code *)(iVar22 + 0x10fc)" (* "*") (cast_expression "(code *)(iVar22 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x10fc)" (( "(") (binary_expression "iVar22 + 0x10fc" (identifier "iVar22") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0)" (( "(") (identifier "pppppiVar28") (, ",") (number_literal "0x7b") (, ",") (identifier "ppppppiVar26") (, ",") (identifier "uStack_71") (, ",") (number_literal "0") () ")"))) (; ";")) (if_statement "if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }\n    else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" (if "if") (parenthesized_expression "(*(char *)((int)ppppppiVar12 + 0x12) == '\0')" (( "(") (binary_expression "*(char *)((int)ppppppiVar12 + 0x12) == '\0'" (pointer_expression "*(char *)((int)ppppppiVar12 + 0x12)" (* "*") (cast_expression "(char *)((int)ppppppiVar12 + 0x12)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppiVar12 + 0x12)" (( "(") (binary_expression "(int)ppppppiVar12 + 0x12" (cast_expression "(int)ppppppiVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppiVar12")) (+ "+") (number_literal "0x12")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);\n    }" ({ "{") (labeled_statement "LAB_0010a8b0:\n      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);" (statement_identifier "LAB_0010a8b0") (: ":") (expression_statement "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x867f4) + -0x24d4)" (( "(") (binary_expression "*(int *)(puVar33 + 0x867f4) + -0x24d4" (pointer_expression "*(int *)(puVar33 + 0x867f4)" (* "*") (cast_expression "(int *)(puVar33 + 0x867f4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x867f4)" (( "(") (binary_expression "puVar33 + 0x867f4" (identifier "puVar33") (+ "+") (number_literal "0x867f4")) () ")")))) (+ "+") (number_literal "-0x24d4")) () ")")))) () ")")) (argument_list "(pppppiVar28,ppppppiVar23,0xfffffffa)" (( "(") (identifier "pppppiVar28") (, ",") (identifier "ppppppiVar23") (, ",") (number_literal "0xfffffffa") () ")"))) (; ";"))) (} "}")) (else_clause "else if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" (else "else") (if_statement "if ((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))\n    goto LAB_0010a8b0;" (if "if") (parenthesized_expression "((*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))" (( "(") (binary_expression "(*ppppppiVar23 != (int *****)0x0) &&\n            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0)" (parenthesized_expression "(*ppppppiVar23 != (int *****)0x0)" (( "(") (binary_expression "*ppppppiVar23 != (int *****)0x0" (pointer_expression "*ppppppiVar23" (* "*") (identifier "ppppppiVar23")) (!= "!=") (cast_expression "(int *****)0x0" (( "(") (type_descriptor "int *****" (primitive_type "int") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0)" (( "(") (comma_expression "iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" (identifier "iVar18") (= "=") (call_expression "(*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))\n                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x867f8) + 0x20c8)" (( "(") (binary_expression "*(int *)(puVar33 + 0x867f8) + 0x20c8" (pointer_expression "*(int *)(puVar33 + 0x867f8)" (* "*") (cast_expression "(int *)(puVar33 + 0x867f8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x867f8)" (( "(") (binary_expression "puVar33 + 0x867f8" (identifier "puVar33") (+ "+") (number_literal "0x867f8")) () ")")))) (+ "+") (number_literal "0x20c8")) () ")")))) () ")")) (argument_list "(*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128)" (( "(") (pointer_expression "*ppppppiVar23" (* "*") (identifier "ppppppiVar23")) (, ",") (binary_expression "*(int *)(puVar33 + 0x865ac) + -0x3128" (pointer_expression "*(int *)(puVar33 + 0x865ac)" (* "*") (cast_expression "(int *)(puVar33 + 0x865ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x865ac)" (( "(") (binary_expression "puVar33 + 0x865ac" (identifier "puVar33") (+ "+") (number_literal "0x865ac")) () ")")))) (+ "+") (number_literal "-0x3128")) () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_0010a8b0;" (goto "goto") (statement_identifier "LAB_0010a8b0") (; ";"))))) (if_statement "if (cStack_69 == '\0') {\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }\n    else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" (if "if") (parenthesized_expression "(cStack_69 == '\0')" (( "(") (binary_expression "cStack_69 == '\0'" (identifier "cStack_69") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;\n      uVar24 = 0;\n    }" ({ "{") (if_statement "if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;" (if "if") (parenthesized_expression "(-1 < (int)pppppiStack_d0)" (( "(") (binary_expression "-1 < (int)pppppiStack_d0" (number_literal "-1") (< "<") (cast_expression "(int)pppppiStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiStack_d0"))) () ")")) (goto_statement "goto LAB_0010a7a4;" (goto "goto") (statement_identifier "LAB_0010a7a4") (; ";"))) (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" (else "else") (compound_statement "{\n      if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }\n      if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }\n      uVar24 = 2;\n      if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }\n    }" ({ "{") (if_statement "if (0 < (int)pppppiVar28[0x1b]) {\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }" (if "if") (parenthesized_expression "(0 < (int)pppppiVar28[0x1b])" (( "(") (binary_expression "0 < (int)pppppiVar28[0x1b]" (number_literal "0") (< "<") (cast_expression "(int)pppppiVar28[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1b]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1b") (] "]")))) () ")")) (compound_statement "{\n        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;\n      }" ({ "{") (expression_statement "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;" (assignment_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4" (pointer_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" (* "*") (cast_expression "(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" (( "(") (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16" (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1a]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1a") (] "]"))) (+ "+") (binary_expression "(int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1b]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1b") (] "]"))) (* "*") (number_literal "0x18"))) (+ "+") (number_literal "-0x16")) () ")")))) (= "=") (number_literal "4")) (; ";")) (} "}"))) (if_statement "if (-1 < (int)pppppiStack_d0) {\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }" (if "if") (parenthesized_expression "(-1 < (int)pppppiStack_d0)" (( "(") (binary_expression "-1 < (int)pppppiStack_d0" (number_literal "-1") (< "<") (cast_expression "(int)pppppiStack_d0" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppiStack_d0"))) () ")")) (compound_statement "{\nLAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }\n      }" ({ "{") (labeled_statement "LAB_0010a7a4:\n        if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" (statement_identifier "LAB_0010a7a4") (: ":") (if_statement "if ((int ******)pppppiStack_d0 != ppppppiVar26) {\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" (if "if") (parenthesized_expression "((int ******)pppppiStack_d0 != ppppppiVar26)" (( "(") (binary_expression "(int ******)pppppiStack_d0 != ppppppiVar26" (cast_expression "(int ******)pppppiStack_d0" (( "(") (type_descriptor "int ******" (primitive_type "int") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "pppppiStack_d0")) (!= "!=") (identifier "ppppppiVar26")) () ")")) (compound_statement "{\n          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);\n        }" ({ "{") (expression_statement "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);" (call_expression "(*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0)" (parenthesized_expression "(*(code *)(iVar22 + 0x10fc))" (( "(") (pointer_expression "*(code *)(iVar22 + 0x10fc)" (* "*") (cast_expression "(code *)(iVar22 + 0x10fc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 0x10fc)" (( "(") (binary_expression "iVar22 + 0x10fc" (identifier "iVar22") (+ "+") (number_literal "0x10fc")) () ")")))) () ")")) (argument_list "(pppppiVar28,0x7b,pppppiStack_d0,0,0)" (( "(") (identifier "pppppiVar28") (, ",") (number_literal "0x7b") (, ",") (identifier "pppppiStack_d0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "uVar24 = 2;" (assignment_expression "uVar24 = 2" (identifier "uVar24") (= "=") (number_literal "2")) (; ";")) (if_statement "if (cStack_69 != '\x02') {\n        uVar24 = 0;\n      }" (if "if") (parenthesized_expression "(cStack_69 != '\x02')" (( "(") (binary_expression "cStack_69 != '\x02'" (identifier "cStack_69") (!= "!=") (char_literal "'\x02'" (' "'") (escape_sequence "\x02") (' "'"))) () ")")) (compound_statement "{\n        uVar24 = 0;\n      }" ({ "{") (expression_statement "uVar24 = 0;" (assignment_expression "uVar24 = 0" (identifier "uVar24") (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (0 < (int)pppppiVar28[0x1b]) {\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }" (if "if") (parenthesized_expression "(0 < (int)pppppiVar28[0x1b])" (( "(") (binary_expression "0 < (int)pppppiVar28[0x1b]" (number_literal "0") (< "<") (cast_expression "(int)pppppiVar28[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1b]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1b") (] "]")))) () ")")) (compound_statement "{\n      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;\n      ppppiVar17 = (*ppppppiVar12)[9];\n      goto joined_r0x0010a810;\n    }" ({ "{") (expression_statement "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;" (assignment_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24" (pointer_expression "*(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" (* "*") (cast_expression "(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16)" (( "(") (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16" (binary_expression "(int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1a]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1a]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1a") (] "]"))) (+ "+") (binary_expression "(int)pppppiVar28[0x1b] * 0x18" (cast_expression "(int)pppppiVar28[0x1b]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppiVar28[0x1b]" (identifier "pppppiVar28") ([ "[") (number_literal "0x1b") (] "]"))) (* "*") (number_literal "0x18"))) (+ "+") (number_literal "-0x16")) () ")")))) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "ppppiVar17 = (*ppppppiVar12)[9];" (assignment_expression "ppppiVar17 = (*ppppppiVar12)[9]" (identifier "ppppiVar17") (= "=") (subscript_expression "(*ppppppiVar12)[9]" (parenthesized_expression "(*ppppppiVar12)" (( "(") (pointer_expression "*ppppppiVar12" (* "*") (identifier "ppppppiVar12")) () ")")) ([ "[") (number_literal "9") (] "]"))) (; ";")) (goto_statement "goto joined_r0x0010a810;" (goto "goto") (statement_identifier "joined_r0x0010a810") (; ";")) (} "}"))) (} "}"))) (expression_statement "ppppiVar17 = (*ppppppiVar12)[9];" (assignment_expression "ppppiVar17 = (*ppppppiVar12)[9]" (identifier "ppppiVar17") (= "=") (subscript_expression "(*ppppppiVar12)[9]" (parenthesized_expression "(*ppppppiVar12)" (( "(") (pointer_expression "*ppppppiVar12" (* "*") (identifier "ppppppiVar12")) () ")")) ([ "[") (number_literal "9") (] "]"))) (; ";")) (labeled_statement "joined_r0x0010a810:\n  if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" (statement_identifier "joined_r0x0010a810") (: ":") (if_statement "if (((uint)ppppiVar17 & 0x4000) != 0) {\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" (if "if") (parenthesized_expression "(((uint)ppppiVar17 & 0x4000) != 0)" (( "(") (binary_expression "((uint)ppppiVar17 & 0x4000) != 0" (parenthesized_expression "((uint)ppppiVar17 & 0x4000)" (( "(") (binary_expression "(uint)ppppiVar17 & 0x4000" (cast_expression "(uint)ppppiVar17" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "ppppiVar17")) (& "&") (number_literal "0x4000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);\n  }" ({ "{") (expression_statement "FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);" (call_expression "FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0)" (identifier "FUN_0010c7f8") (argument_list "(ppppppiVar12,ppppppiVar23,0,iVar20,0,0)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar23") (, ",") (number_literal "0") (, ",") (identifier "iVar20") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (expression_statement "(*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);" (call_expression "(*(code *)(iVar7 + -0x2cec))\n            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" (parenthesized_expression "(*(code *)(iVar7 + -0x2cec))" (( "(") (pointer_expression "*(code *)(iVar7 + -0x2cec)" (* "*") (cast_expression "(code *)(iVar7 + -0x2cec)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + -0x2cec)" (( "(") (binary_expression "iVar7 + -0x2cec" (identifier "iVar7") (+ "+") (number_literal "-0x2cec")) () ")")))) () ")")) (argument_list "(ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30)" (( "(") (identifier "ppppppiVar12") (, ",") (identifier "ppppppiVar27") (, ",") (number_literal "0x75") (, ",") (number_literal "0") (, ",") (number_literal "2") (, ",") (identifier "ppppppiVar23") (, ",") (identifier "iVar20") (, ",") (identifier "uStack_6d") (, ",") (identifier "pppppiVar30") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);" (call_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30)" (parenthesized_expression "(*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))" (( "(") (pointer_expression "*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78)" (* "*") (cast_expression "(code *)(*(int *)(puVar33 + 0x86810) + 0xd78)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar33 + 0x86810) + 0xd78)" (( "(") (binary_expression "*(int *)(puVar33 + 0x86810) + 0xd78" (pointer_expression "*(int *)(puVar33 + 0x86810)" (* "*") (cast_expression "(int *)(puVar33 + 0x86810)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar33 + 0x86810)" (( "(") (binary_expression "puVar33 + 0x86810" (identifier "puVar33") (+ "+") (number_literal "0x86810")) () ")")))) (+ "+") (number_literal "0xd78")) () ")")))) () ")")) (argument_list "(pppppiVar28,pppppiVar30)" (( "(") (identifier "pppppiVar28") (, ",") (identifier "pppppiVar30") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *pParse,type_2 *pTab,int var_23,int var_27,int *var_9,int var_13)

{
  type_3 var_20;
  type_3 var_17;
  type_4 var_35;
  type_5 *var_29;
  type_5 *var_24;
  int var_3;
  type_6 *var_31;
  type_7 *pcVar8;
  type_7 *pcVar9;
  type_7 *pcVar10;
  type_6 *var_10;
  type_6 *var_19;
  type_7 *pcVar13;
  type_8 *var_33;
  type_9 uVar14;
  type_10 var_42;
  type_9 var_43;
  void *pvVar17;
  type_11 *p_Var18;
  int var_4;
  type_12 *var_15;
  type_13 uVar21;
  int var_44;
  type_14 *pParse_00;
  type_15 *var_28;
  type_2 *pTVar24;
  type_1 *pPVar25;
  type_12 **var_16;
  type_16 uVar27;
  type_6 *pSVar28;
  type_12 *var_14;
  type_6 *var_1;
  type_6 *var_11;
  type_17 *pCVar30;
  type_14 *psVar31;
  type_10 ignoreJump;
  type_6 *var_5;
  int var_22;
  type_5 *var_40;
  type_6 *var_48;
  type_6 *in_stack_ffffff80;
  type_7 *in_stack_ffffff84;
  int in_stack_ffffff88;
  short sVar35;
  type_9 var_47;
  type_9 var_38;
  char var_39;
  type_18 *var_21;
  type_7 *pcStack_40;
  type_19 *var_26;
  int *var_25;
  int var_36;
  type_9 var_37;
  
  var_40 = PTR___stack_chk_guard_00190e24;
  sVar35 = (short)in_stack_ffffff88;
  psVar31 = pParse->db;
  var_37 = *(type_9 *)PTR___stack_chk_guard_00190e24;
  pParse_00 = (type_14 *)pParse;
  var_10 = (type_6 *)pTab;
  var_11 = (type_6 *)var_23;
  var_1 = (type_6 *)var_27;
  if ((psVar31->flags & 0x4000) != 0) {
    var_1 = pTab->pSchema;
    if (var_1 == (type_6 *)0x0) {
      var_4 = -16000000;
      var_3 = -1000000;
    }
    else {
      var_3 = (*(type_7 *)(var_2 + -0x31a4))(psVar31,var_1);
      var_4 = var_3 << 4;
    }
    var_29 = var_12;
    var_20 = pParse->disableTriggers;
    var_5 = (type_6 *)pTab->pFKey;
    var_31 = *(type_6 **)((int)&((type_6 *)psVar31->aDb)->schema_cookie + var_4);
    if (var_5 != (type_6 *)0x0) {
      pcVar8 = (type_7 *)(var_6 + -0x729c);
      pcVar9 = (type_7 *)(var_7 + 0xb3c);
      pcVar10 = (type_7 *)(var_8 + -0x6e1c);
      do {
        while( true ) {
          var_25 = (int *)0x0;
          var_26 = (type_19 *)0x0;
          var_11 = (type_6 *)(var_5->tblHash).htsize;
          if (var_9 == (int *)0x0) break;
          var_10 = var_11;
          if (pTab->zName == (char *)0x0) {
joined_r0x00109ec0:
            if (var_10 == (type_6 *)0x0) break;
          }
          else if (var_11 != (type_6 *)0x0) {
            var_10 = (type_6 *)(*(type_7 *)(var_12 + 0x20c8))(pTab->zName,var_11);
            goto joined_r0x00109ec0;
          }
          var_15 = (var_5->tblHash).ht;
          if (0 < (int)var_15) {
            var_10 = (type_6 *)(var_5->idxHash).ht;
            var_16 = (type_12 **)&(var_5->trigHash).count;
            if (var_9[(int)var_10] < 0) {
              var_1 = (type_6 *)(int)pTab->iPKey;
              var_14 = (type_12 *)0x0;
              do {
                if ((var_1 == var_10) && (var_13 != 0)) {
                  var_17 = pParse->disableTriggers;
                  goto LAB_00109d04;
                }
                var_14 = (type_12 *)((int)&var_14->count + 1);
                if (var_14 == var_15) goto LAB_00109d78;
                var_10 = (type_6 *)*var_16;
                var_16 = var_16 + 2;
              } while (var_9[(int)var_10] < 0);
            }
            break;
          }
LAB_00109d78:
          var_5 = (type_6 *)var_5->iGeneration;
          if (var_5 == (type_6 *)0x0) {
            var_1 = pTab->pSchema;
            goto LAB_00109d88;
          }
        }
        var_17 = pParse->disableTriggers;
LAB_00109d04:
        if (var_17 == '\0') {
          var_10 = (type_6 *)0x0;
          pParse_00 = (type_14 *)pParse;
          var_1 = var_31;
          var_19 = (type_6 *)var_18(pParse,0,(char *)var_11,(char *)var_31);
        }
        else {
          pParse_00 = psVar31;
          pSVar28 = var_31;
          var_19 = (type_6 *)(*(type_7 *)(var_12 + 0x218c))();
          var_10 = var_11;
          var_11 = pSVar28;
        }
        pSVar28 = (type_6 *)&var_25;
        if (var_19 == (type_6 *)0x0) {
LAB_00109d58:
          sVar35 = (short)in_stack_ffffff88;
          if ((var_20 != '\0') && (psVar31->mallocFailed == '\0')) {
            if (var_19 == (type_6 *)0x0) {
              var_21 = pParse->pVdbe;
              if (var_21 == (type_18 *)0x0) {
                var_21 = (type_18 *)(*(type_7 *)(var_7 + 0x1274))(pParse);
              }
              var_24 = var_7;
              var_15 = (var_5->tblHash).ht;
              var_4 = var_21->nOp;
              if (0 < (int)var_15) {
                var_16 = &(var_5->idxHash).ht;
                var_22 = 0;
                pcVar13 = (type_7 *)(var_7 + 0x10fc);
                do {
                  var_14 = *var_16;
                  var_22 = var_22 + 1;
                  var_16 = var_16 + 2;
                  (*pcVar13)(var_21,0x32,(int)&var_14->count + var_23 + 1,
                             (char *)((int)&var_15->count + var_4 + 1),0);
                } while (var_22 < (int)(var_5->tblHash).ht);
              }
              pcStack_40 = (type_7 *)(var_24 + 0x10fc);
              var_1 = (type_6 *)0xffffffff;
              in_stack_ffffff80 = (type_6 *)0x0;
              (*pcStack_40)(var_21,0x96,*(type_20 *)&(var_5->idxHash).htsize);
            }
            goto LAB_00109d78;
          }
          goto LAB_00109e60;
        }
        var_1 = (type_6 *)&var_26;
        pParse_00 = (type_14 *)pParse;
        var_10 = var_19;
        var_11 = var_5;
        var_4 = (*pcVar8)();
        in_stack_ffffff80 = pSVar28;
        if (var_4 != 0) goto LAB_00109d58;
        pcStack_40 = (type_7 *)var_25;
        if (var_25 == (int *)0x0) {
          var_36 = (int)(var_5->idxHash).ht;
          pcStack_40 = (type_7 *)&var_36;
        }
        var_4 = 0;
        uVar14 = 0;
        pcVar13 = pcStack_40;
        if (0 < (int)(var_5->tblHash).ht) {
          do {
            if (*(int *)pcVar13 == (int)pTab->iPKey) {
              *(int *)pcVar13 = -1;
            }
            if (psVar31->xAuth != (type_21)0x0) {
              if (var_26 == (type_19 *)0x0) {
                sVar35 = *(short *)&(var_19->trigHash).htsize;
              }
              else {
                sVar35 = var_26->aiColumn[var_4];
              }
              var_22 = (*pcVar10)(pParse,(char *)var_19->schema_cookie,
                                  ((type_22 *)var_19->iGeneration)[sVar35].zName,var_3);
              uVar14 = (type_9)(var_22 == 2);
            }
            var_4 = var_4 + 1;
            pcVar13 = (type_7 *)((int)pcVar13 + 4);
          } while (var_4 < (int)(var_5->tblHash).ht);
        }
        in_stack_ffffff80 = (type_6 *)var_19->schema_cookie;
        var_1 = (type_6 *)0x0;
        (*pcVar9)(pParse,var_3,(var_19->idxHash).count);
        pParse->nTab = pParse->nTab + 1;
        if (var_23 != 0) {
          var_47 = 0xffffffff;
          var_1 = (type_6 *)var_26;
          in_stack_ffffff80 = var_5;
          in_stack_ffffff84 = pcStack_40;
          in_stack_ffffff88 = var_23;
          (*(type_7 *)(var_6 + 0x45fc))(pParse,var_3,var_19);
          var_38 = uVar14;
        }
        if (var_27 != 0) {
          pPVar25 = pParse->pToplevel;
          if (pParse->pToplevel == (type_1 *)0x0) {
            pPVar25 = pParse;
          }
          if ((pPVar25->pTriggerPrg == (type_23 *)0x0) ||
             (((var_28 = pPVar25->pTriggerPrg->var_11,
               var_28 != (type_15 *)(var_5->idxHash).count ||
               (*(char *)((int)&(var_5->idxHash).htsize + 1) != '\b')) &&
              ((var_28 != (type_15 *)(var_5->idxHash).first ||
               (*(char *)((int)&(var_5->idxHash).htsize + 2) != '\b')))))) {
            var_47 = 1;
            var_1 = (type_6 *)var_26;
            in_stack_ffffff80 = var_5;
            in_stack_ffffff88 = var_27;
            (*(type_7 *)(var_6 + 0x45fc))(pParse,var_3,var_19);
            in_stack_ffffff84 = pcStack_40;
            var_38 = uVar14;
          }
        }
        if (var_25 == (int *)0x0) goto LAB_00109d78;
        (*(type_7 *)(var_29 + -0x2368))(psVar31);
        var_5 = (type_6 *)var_5->iGeneration;
      } while (var_5 != (type_6 *)0x0);
      var_1 = pTab->pSchema;
    }
LAB_00109d88:
    var_11 = (type_6 *)0x0;
    var_10 = (type_6 *)pTab->zName;
    pParse_00 = (type_14 *)&var_1->fkeyHash;
    var_3 = (*(type_7 *)(var_30 + 0x16c))();
    var_29 = var_12;
    sVar35 = (short)in_stack_ffffff88;
    var_31 = *(type_6 **)(var_3 + 8);
    if (var_31 != (type_6 *)0x0) {
      pcVar10 = (type_7 *)(var_6 + -0x729c);
      pcVar8 = (type_7 *)(var_6 + -0x4194);
      pcVar9 = (type_7 *)(var_32 + -0x210c);
LAB_00109dd8:
      var_25 = (int *)0x0;
      var_36 = 0;
      if ((var_9 == (int *)0x0) ||
         (pParse_00 = (type_14 *)pTab, var_10 = var_31, var_11 = (type_6 *)var_9,
         var_1 = (type_6 *)var_13, var_3 = (*(type_7 *)(var_30 + 0x25dc))(),
         var_3 != 0)) {
        if ((*(char *)&(var_31->idxHash).htsize == '\0') &&
           (((-1 < (int)psVar31->flags << 0xc && (pParse->pToplevel == (type_1 *)0x0)) &&
            (pParse->isMultiWrite == '\0')))) {
          var_31 = (type_6 *)(var_31->tblHash).count;
          goto LAB_0010a250;
        }
        in_stack_ffffff80 = (type_6 *)&var_36;
        var_1 = (type_6 *)&var_25;
        pParse_00 = (type_14 *)pParse;
        var_10 = (type_6 *)pTab;
        var_11 = var_31;
        var_3 = (*pcVar10)();
        sVar35 = (short)in_stack_ffffff88;
        if (var_3 != 0) {
          if ((var_20 != '\0') && (psVar31->mallocFailed == '\0')) goto LAB_0010a24c;
          goto LAB_00109e60;
        }
        var_1 = (type_6 *)0x0;
        var_11 = (type_6 *)0x0;
        pParse_00 = (type_14 *)pParse;
        var_33 = (type_8 *)(*pcVar8)(pParse,0);
        if (var_33 != (type_8 *)0x0) {
          pTVar24 = (type_2 *)var_31->schema_cookie;
          var_33->a[0].pTab = pTVar24;
          var_33->a[0].zName = pTVar24->zName;
          pTVar24->nTabRef = pTVar24->nTabRef + 1;
          var_3 = pParse->nTab;
          pParse->nTab = var_3 + 1;
          var_33->a[0].iCursor = var_3;
          if (var_27 != 0) {
            var_47 = 0xffffffff;
            var_11 = (type_6 *)pTab;
            var_1 = (type_6 *)var_25;
            in_stack_ffffff80 = var_31;
            in_stack_ffffff84 = (type_7 *)var_36;
            in_stack_ffffff88 = var_27;
            var_34(pParse,var_33,pTab,(type_19 *)var_25,(type_24 *)var_31,(int *)var_36,var_27,-1);
          }
          if (var_23 != 0) {
            var_35 = *(type_4 *)((int)&(var_31->idxHash).htsize + (var_9 != (int *)0x0) + 1);
            var_47 = 1;
            var_11 = (type_6 *)pTab;
            var_1 = (type_6 *)var_25;
            in_stack_ffffff80 = var_31;
            in_stack_ffffff84 = (type_7 *)var_36;
            in_stack_ffffff88 = var_23;
            var_34(pParse,var_33,pTab,(type_19 *)var_25,(type_24 *)var_31,(int *)var_36,var_23,1);
            if ((*(char *)&(var_31->idxHash).htsize == '\0') && ((var_35 & 0xfd) != 8)) {
              pPVar25 = pParse->pToplevel;
              if (pParse->pToplevel == (type_1 *)0x0) {
                pPVar25 = pParse;
              }
              pPVar25->mayAbort = '\x01';
            }
          }
          var_33->a[0].zName = (char *)0x0;
          pParse_00 = psVar31;
          (*pcVar9)(psVar31,var_33);
        }
        var_10 = (type_6 *)var_36;
        if (var_36 != 0) {
          pParse_00 = psVar31;
          (*(type_7 *)(var_29 + -0x2368))();
        }
      }
LAB_0010a24c:
      var_31 = (type_6 *)(var_31->tblHash).count;
LAB_0010a250:
      sVar35 = (short)in_stack_ffffff88;
      if (var_31 == (type_6 *)0x0) goto LAB_00109e60;
      goto LAB_00109dd8;
    }
  }
LAB_00109e60:
  if (var_37 == *(type_9 *)var_40) {
    return;
  }
  var_40 = PTR___stack_chk_fail_00190df8;
  (*(type_7 *)PTR___stack_chk_fail_00190df8)();
  ignoreJump = pParse_00->nSchemaLock - 1;
  pParse_00->nSchemaLock = ignoreJump;
  uVar14 = var_38 & 0xff;
  uVar21 = 0x1c;
  pCVar30 = pParse_00->pDfltColl;
  if (((type_9)(var_10->idxHash).ht & 0x20) == 0) {
    uVar21 = 0x1f;
  }
  if (var_39 == '\0') {
    (*(type_7 *)(*(int *)(var_40 + 0x86810) + 0x13a0))
              (pCVar30,uVar21,var_1,ignoreJump,in_stack_ffffff84,(int)sVar35);
  }
  var_48 = (type_6 *)&_gp;
  var_3 = (*(type_7 *)(*(int *)(var_40 + 0x867f4) + -0x3768))(pParse_00->pVfs,var_10,0,0);
  if ((var_3 == 0) && (var_3 = *(int *)(var_40 + 0x86818), var_11 == (type_6 *)0x0)) {
    var_43 = (var_10->tblHash).count;
    var_4 = 0;
  }
  else {
    var_42 = var_41
                       ((type_1 *)pParse_00,(type_15 *)var_11,(type_25 *)0x0,0,3,(type_2 *)var_10,
                        uVar14);
    if (((type_9)pParse_00->pVfs->xFullPathname & 0x4000) != 0) {
      var_43 = (*(type_7 *)(*(int *)(var_40 + 0x86814) + -0x6eb0))(pParse_00,var_10);
      var_42 = var_42 | var_43;
    }
    var_22 = (int)pParse_00->lastRowid;
    var_3 = *(int *)(var_40 + 0x86810);
    var_4 = var_22 + 1;
    *(int *)((int)&pParse_00->lastRowid + 4) = (short)(var_10->trigHash).htsize + 1 + var_22;
    (*(type_7 *)(var_3 + 0x10fc))(pCVar30,0x4e,in_stack_ffffff84,var_4,0);
    var_43 = 0;
    var_3 = (int)(short)(var_10->trigHash).htsize;
    if (0 < var_3) {
      var_44 = *(int *)(var_40 + 0x86814);
      do {
        if ((var_42 == 0xffffffff) ||
           (((int)var_43 < 0x20 && ((1 << (var_43 & 0x1f) & var_42) != 0)))) {
          (*(type_7 *)(var_44 + 0x4eb8))(pCVar30,var_10,var_1,var_43,var_22 + 2 + var_43);
          var_3 = (int)(short)(var_10->trigHash).htsize;
        }
        var_43 = var_43 + 1;
      } while ((int)var_43 < var_3);
    }
    pvVar17 = pCVar30[5].pUser;
    var_3 = *(int *)(var_40 + 0x86818);
    var_45
              ((type_1 *)pParse_00,(type_15 *)var_11,0x75,(type_25 *)0x0,1,(type_2 *)var_10,var_4
               ,uVar14,ignoreJump);
    if ((int)pvVar17 < (int)pCVar30[5].pUser) {
      (*(type_7 *)(*(int *)(var_40 + 0x86810) + 0x13a0))
                (pCVar30,uVar21,var_1,ignoreJump,in_stack_ffffff84,(int)sVar35);
      var_48 = (type_6 *)0xffffffff;
    }
    function_1((type_1 *)pParse_00,(type_2 *)var_10,var_4,0,(int *)0x0,0);
    var_43 = (var_10->tblHash).count;
  }
  if (var_43 == 0) {
    var_46
              ((type_1 *)pParse_00,(type_2 *)var_10,(int)var_1,(int)in_stack_ffffff80,(int *)0x0,
               (int)var_48);
    var_22 = *(int *)(var_40 + 0x86810);
    (*(type_7 *)(var_22 + 0x10fc))(pCVar30,0x7b,var_1,var_47 & 0xff,0);
    if (*(type_20 *)((int)&pParse_00->aDb + 2) == '\0') {
LAB_0010a8b0:
      (*(type_7 *)(*(int *)(var_40 + 0x867f4) + -0x24d4))(pCVar30,var_10,0xfffffffa);
    }
    else if ((var_10->schema_cookie != 0) &&
            (var_44 = (*(type_7 *)(*(int *)(var_40 + 0x867f8) + 0x20c8))
                                (var_10->schema_cookie,*(int *)(var_40 + 0x865ac) + -0x3128),
            var_44 == 0)) goto LAB_0010a8b0;
    if (var_39 == '\0') {
      if (-1 < (int)var_48) goto LAB_0010a7a4;
      uVar27 = 0;
    }
    else {
      if (0 < (int)pCVar30[5].pUser) {
        *(type_16 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = 4;
      }
      if (-1 < (int)var_48) {
LAB_0010a7a4:
        if (var_48 != var_1) {
          (*(type_7 *)(var_22 + 0x10fc))(pCVar30,0x7b,var_48,0,0);
        }
      }
      uVar27 = 2;
      if (var_39 != '\x02') {
        uVar27 = 0;
      }
    }
    if (0 < (int)pCVar30[5].pUser) {
      *(type_16 *)(*(int *)&pCVar30[5].enc + ((int)pCVar30[5].pUser + -1) * 0x18 + 2) = uVar27;
      p_Var18 = pParse_00->pVfs->xFullPathname;
      goto joined_r0x0010a810;
    }
  }
  p_Var18 = pParse_00->pVfs->xFullPathname;
joined_r0x0010a810:
  if (((type_9)p_Var18 & 0x4000) != 0) {
    var_49((type_1 *)pParse_00,(type_2 *)var_10,(type_25 *)0x0,var_4,(int *)0x0,0);
  }
  (*(type_7 *)(var_3 + -0x2cec))(pParse_00,var_11,0x75,0,2,var_10,var_4,uVar14,ignoreJump);
                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*(type_7 *)(*(int *)(var_40 + 0x86810) + 0xd78))(pCVar30,ignoreJump);
  return;
}


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

void MASKED(int ******param_1,int ******param_2,int ******param_3,int ******param_4,
                 int ******param_5,int ******param_6)

{
  char cVar1;
  char cVar2;
  byte bVar3;
  short sVar4;
  undefined *puVar5;
  undefined *puVar6;
  int iVar7;
  int ******ppppppiVar8;
  code *pcVar9;
  code *pcVar10;
  code *pcVar11;
  int ******ppppppiVar12;
  int ******ppppppiVar13;
  code *pcVar14;
  bool bVar19;
  uint uVar15;
  uint uVar16;
  int ****ppppiVar17;
  int iVar18;
  int iVar20;
  undefined4 uVar21;
  int iVar22;
  int ******ppppppiVar23;
  undefined2 uVar24;
  int ******ppppppiVar25;
  int ******ppppppiVar26;
  int ******ppppppiVar27;
  int *****pppppiVar28;
  int ******ppppppiVar29;
  int *****pppppiVar30;
  int *****pppppiVar31;
  int ******ppppppiVar32;
  undefined *puVar33;
  int *****pppppiStack_d0;
  int ******in_stack_ffffff80;
  int *****local_7c;
  undefined4 local_78;
  undefined1 uStack_71;
  undefined1 uStack_6d;
  char cStack_69;
  int ****local_5c;
  int *****local_40;
  int *****local_38;
  int *****local_34;
  int *****local_30;
  int local_2c;
  
  puVar33 = PTR___stack_chk_guard_00190e24;
  ppppppiVar29 = (int ******)*param_1;
  local_2c = *(int *)PTR___stack_chk_guard_00190e24;
  ppppppiVar12 = param_1;
  ppppppiVar23 = param_2;
  ppppppiVar27 = param_3;
  ppppppiVar26 = param_4;
  if (((uint)ppppppiVar29[9] & 0x4000) != 0) {
    ppppppiVar26 = (int ******)param_2[0x12];
    if (ppppppiVar26 == (int ******)0x0) {
      iVar20 = -16000000;
      iVar7 = -1000000;
    }
    else {
      iVar7 = (*(code *)(PTR_LAB_00190ba4 + -0x31a4))(ppppppiVar29,ppppppiVar26);
      iVar20 = iVar7 << 4;
    }
    puVar5 = PTR_LAB_00190ba8;
    cVar1 = *(char *)((int)param_1 + 0x8e);
    ppppppiVar32 = (int ******)param_2[4];
    ppppppiVar8 = *(int *******)((int)ppppppiVar29[4] + iVar20);
    if (ppppppiVar32 != (int ******)0x0) {
      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x729c);
      pcVar10 = (code *)(PTR_LAB_00190bc0 + 0xb3c);
      pcVar11 = (code *)(PTR_LAB_00190bcc + -0x6e1c);
      do {
        while( true ) {
          local_34 = (int *****)0x0;
          local_38 = (int *****)0x0;
          ppppppiVar27 = (int ******)ppppppiVar32[2];
          if (param_5 == (int ******)0x0) break;
          ppppppiVar12 = ppppppiVar27;
          if (*param_2 == (int *****)0x0) {
joined_r0x00109ec0:
            if (ppppppiVar12 == (int ******)0x0) break;
          }
          else if (ppppppiVar27 != (int ******)0x0) {
            ppppppiVar12 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x20c8))(*param_2,ppppppiVar27)
            ;
            goto joined_r0x00109ec0;
          }
          if (0 < (int)ppppppiVar32[5]) {
            ppppppiVar12 = (int ******)ppppppiVar32[9];
            ppppppiVar23 = ppppppiVar32 + 0xb;
            if ((int)param_5[(int)ppppppiVar12] < 0) {
              ppppppiVar26 = (int ******)(int)*(short *)(param_2 + 10);
              pppppiVar28 = (int *****)0x0;
              do {
                if ((ppppppiVar26 == ppppppiVar12) && (param_6 != (int ******)0x0)) {
                  cVar2 = *(char *)((int)param_1 + 0x8e);
                  goto LAB_00109d04;
                }
                pppppiVar28 = (int *****)((int)pppppiVar28 + 1);
                if (pppppiVar28 == ppppppiVar32[5]) goto LAB_00109d78;
                ppppppiVar12 = (int ******)*ppppppiVar23;
                ppppppiVar23 = ppppppiVar23 + 2;
              } while ((int)param_5[(int)ppppppiVar12] < 0);
            }
            break;
          }
LAB_00109d78:
          ppppppiVar32 = (int ******)ppppppiVar32[1];
          if (ppppppiVar32 == (int ******)0x0) {
            ppppppiVar26 = (int ******)param_2[0x12];
            goto LAB_00109d88;
          }
        }
        cVar2 = *(char *)((int)param_1 + 0x8e);
LAB_00109d04:
        if (cVar2 == '\0') {
          ppppppiVar23 = (int ******)0x0;
          ppppppiVar12 = param_1;
          ppppppiVar26 = ppppppiVar8;
          ppppppiVar13 = (int ******)FUN_001083a4();
        }
        else {
          ppppppiVar12 = ppppppiVar29;
          ppppppiVar25 = ppppppiVar8;
          ppppppiVar13 = (int ******)(*(code *)(PTR_LAB_00190ba8 + 0x218c))();
          ppppppiVar23 = ppppppiVar27;
          ppppppiVar27 = ppppppiVar25;
        }
        ppppppiVar25 = &local_34;
        if (ppppppiVar13 == (int ******)0x0) {
LAB_00109d58:
          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) {
            if (ppppppiVar13 == (int ******)0x0) {
              local_5c = (int ****)param_1[2];
              if ((int *****)local_5c == (int *****)0x0) {
                local_5c = (int ****)(*(code *)(PTR_LAB_00190bc0 + 0x1274))(param_1);
              }
              puVar6 = PTR_LAB_00190bc0;
              pppppiVar28 = ppppppiVar32[5];
              ppppiVar17 = (int ****)local_5c[0x1b];
              if (0 < (int)pppppiVar28) {
                ppppppiVar27 = ppppppiVar32 + 9;
                iVar20 = 0;
                pcVar14 = (code *)(PTR_LAB_00190bc0 + 0x10fc);
                do {
                  pppppiVar30 = *ppppppiVar27;
                  iVar20 = iVar20 + 1;
                  ppppppiVar27 = ppppppiVar27 + 2;
                  (*pcVar14)(local_5c,0x32,(undefined1 *)((int)param_3 + (int)pppppiVar30 + 1),
                             (int)pppppiVar28 + (int)ppppiVar17 + 1,0);
                } while (iVar20 < (int)ppppppiVar32[5]);
              }
              local_40 = (int *****)(puVar6 + 0x10fc);
              ppppppiVar26 = (int ******)0xffffffff;
              in_stack_ffffff80 = (int ******)0x0;
              (*(code *)local_40)(local_5c,0x96,*(undefined1 *)(ppppppiVar32 + 6));
            }
            goto LAB_00109d78;
          }
          goto LAB_00109e60;
        }
        ppppppiVar26 = &local_38;
        ppppppiVar12 = param_1;
        ppppppiVar23 = ppppppiVar13;
        ppppppiVar27 = ppppppiVar32;
        iVar20 = (*pcVar9)();
        in_stack_ffffff80 = ppppppiVar25;
        if (iVar20 != 0) goto LAB_00109d58;
        local_40 = local_34;
        if ((int ******)local_34 == (int ******)0x0) {
          local_30 = ppppppiVar32[9];
          local_40 = (int *****)&local_30;
        }
        iVar20 = 0;
        bVar19 = false;
        ppppppiVar27 = (int ******)local_40;
        if (0 < (int)ppppppiVar32[5]) {
          do {
            if (*ppppppiVar27 == (int *****)(int)*(short *)(param_2 + 10)) {
              *ppppppiVar27 = (int *****)0xffffffff;
            }
            if (ppppppiVar29[0x50] != (int *****)0x0) {
              if ((int ******)local_38 == (int ******)0x0) {
                sVar4 = *(short *)(ppppppiVar13 + 10);
              }
              else {
                sVar4 = *(short *)((int)local_38[1] + iVar20 * 2);
              }
              iVar22 = (*pcVar11)(param_1,*ppppppiVar13,ppppppiVar13[1][sVar4 * 4],iVar7);
              bVar19 = iVar22 == 2;
            }
            iVar20 = iVar20 + 1;
            ppppppiVar27 = ppppppiVar27 + 1;
          } while (iVar20 < (int)ppppppiVar32[5]);
        }
        in_stack_ffffff80 = (int ******)*ppppppiVar13;
        ppppppiVar26 = (int ******)0x0;
        (*pcVar10)(param_1,iVar7,ppppppiVar13[7]);
        param_1[10] = (int *****)((int)param_1[10] + 1);
        if (param_3 != (int ******)0x0) {
          uStack_71 = 0xff;
          local_7c = local_40;
          ppppppiVar26 = (int ******)local_38;
          in_stack_ffffff80 = ppppppiVar32;
          (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);
          local_78 = param_3;
          uStack_6d = bVar19;
        }
        if (param_4 != (int ******)0x0) {
          ppppppiVar27 = (int ******)param_1[0x1d];
          if ((int ******)param_1[0x1d] == (int ******)0x0) {
            ppppppiVar27 = param_1;
          }
          if ((ppppppiVar27[0x40] == (int *****)0x0) ||
             (((pppppiVar28 = (int *****)*ppppppiVar27[0x40], pppppiVar28 != ppppppiVar32[7] ||
               (*(char *)((int)ppppppiVar32 + 0x19) != '\b')) &&
              ((pppppiVar28 != ppppppiVar32[8] || (*(char *)((int)ppppppiVar32 + 0x1a) != '\b'))))))
          {
            uStack_71 = 1;
            local_7c = local_40;
            ppppppiVar26 = (int ******)local_38;
            in_stack_ffffff80 = ppppppiVar32;
            (*(code *)(PTR_LAB_00190bc4 + 0x45fc))(param_1,iVar7,ppppppiVar13);
            local_78 = param_4;
            uStack_6d = bVar19;
          }
        }
        if ((int ******)local_34 == (int ******)0x0) goto LAB_00109d78;
        (*(code *)(puVar5 + -0x2368))(ppppppiVar29);
        ppppppiVar32 = (int ******)ppppppiVar32[1];
      } while (ppppppiVar32 != (int ******)0x0);
      ppppppiVar26 = (int ******)param_2[0x12];
    }
LAB_00109d88:
    ppppppiVar27 = (int ******)0x0;
    ppppppiVar23 = (int ******)*param_2;
    ppppppiVar12 = ppppppiVar26 + 0xe;
    iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x16c))();
    puVar5 = PTR_LAB_00190ba8;
    ppppppiVar8 = *(int *******)(iVar7 + 8);
    if (ppppppiVar8 != (int ******)0x0) {
      pcVar11 = (code *)(PTR_LAB_00190bc4 + -0x729c);
      pcVar9 = (code *)(PTR_LAB_00190bc4 + -0x4194);
      pcVar10 = (code *)(PTR_LAB_00190bb8 + -0x210c);
LAB_00109dd8:
      local_34 = (int *****)0x0;
      local_30 = (int *****)0x0;
      if ((param_5 == (int ******)0x0) ||
         (ppppppiVar12 = param_2, ppppppiVar23 = ppppppiVar8, ppppppiVar27 = param_5,
         ppppppiVar26 = param_6, iVar7 = (*(code *)(PTR_LAB_00190b40 + 0x25dc))(), iVar7 != 0)) {
        if ((*(char *)(ppppppiVar8 + 6) == '\0') &&
           (((-1 < (int)ppppppiVar29[9] << 0xc && (param_1[0x1d] == (int *****)0x0)) &&
            (*(char *)(param_1 + 5) == '\0')))) {
          ppppppiVar8 = (int ******)ppppppiVar8[3];
          goto LAB_0010a250;
        }
        in_stack_ffffff80 = &local_30;
        ppppppiVar26 = &local_34;
        ppppppiVar12 = param_1;
        ppppppiVar23 = param_2;
        ppppppiVar27 = ppppppiVar8;
        iVar7 = (*pcVar11)();
        if (iVar7 != 0) {
          if ((cVar1 != '\0') && (*(char *)((int)ppppppiVar29 + 0x51) == '\0')) goto LAB_0010a24c;
          goto LAB_00109e60;
        }
        ppppppiVar26 = (int ******)0x0;
        ppppppiVar27 = (int ******)0x0;
        ppppppiVar12 = param_1;
        iVar7 = (*pcVar9)(param_1,0);
        if (iVar7 != 0) {
          pppppiVar28 = *ppppppiVar8;
          *(int ******)(iVar7 + 0x18) = pppppiVar28;
          *(int *****)(iVar7 + 0x10) = *pppppiVar28;
          pppppiVar28[8] = (int ****)((int)pppppiVar28[8] + 1);
          pppppiVar28 = param_1[10];
          param_1[10] = (int *****)((int)pppppiVar28 + 1);
          *(int ******)(iVar7 + 0x30) = pppppiVar28;
          if (param_4 != (int ******)0x0) {
            uStack_71 = 0xff;
            local_7c = local_30;
            ppppppiVar27 = param_2;
            ppppppiVar26 = (int ******)local_34;
            in_stack_ffffff80 = ppppppiVar8;
            FUN_000f5dd4(param_1,iVar7);
            local_78 = param_4;
          }
          if (param_3 != (int ******)0x0) {
            bVar3 = *(byte *)((int)ppppppiVar8 + (param_5 != (int ******)0x0) + 0x19);
            uStack_71 = 1;
            local_7c = local_30;
            ppppppiVar27 = param_2;
            ppppppiVar26 = (int ******)local_34;
            in_stack_ffffff80 = ppppppiVar8;
            FUN_000f5dd4(param_1,iVar7);
            local_78 = param_3;
            if ((*(char *)(ppppppiVar8 + 6) == '\0') && ((bVar3 & 0xfd) != 8)) {
              ppppppiVar12 = (int ******)param_1[0x1d];
              if ((int ******)param_1[0x1d] == (int ******)0x0) {
                ppppppiVar12 = param_1;
              }
              *(undefined1 *)((int)ppppppiVar12 + 0x15) = 1;
            }
          }
          *(undefined4 *)(iVar7 + 0x10) = 0;
          ppppppiVar12 = ppppppiVar29;
          (*pcVar10)(ppppppiVar29,iVar7);
        }
        ppppppiVar23 = (int ******)local_30;
        if ((int ******)local_30 != (int ******)0x0) {
          ppppppiVar12 = ppppppiVar29;
          (*(code *)(puVar5 + -0x2368))();
        }
      }
LAB_0010a24c:
      ppppppiVar8 = (int ******)ppppppiVar8[3];
LAB_0010a250:
      if (ppppppiVar8 == (int ******)0x0) goto LAB_00109e60;
      goto LAB_00109dd8;
    }
  }
LAB_00109e60:
  if (local_2c == *(int *)puVar33) {
    return;
  }
  puVar33 = PTR___stack_chk_fail_00190df8;
  (*(code *)PTR___stack_chk_fail_00190df8)();
  pppppiVar30 = (int *****)((int)ppppppiVar12[0xe] + -1);
  ppppppiVar12[0xe] = pppppiVar30;
  uVar21 = 0x1c;
  pppppiVar28 = ppppppiVar12[2];
  if (((uint)ppppppiVar23[9] & 0x20) == 0) {
    uVar21 = 0x1f;
  }
  if (cStack_69 == '\0') {
    (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))
              (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);
  }
  pppppiStack_d0 = (int *****)&_gp_1;
  iVar7 = (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x3768))(*ppppppiVar12,ppppppiVar23,0,0);
  if ((iVar7 == 0) && (iVar7 = *(int *)(puVar33 + 0x86818), ppppppiVar27 == (int ******)0x0)) {
    pppppiVar31 = ppppppiVar23[3];
    iVar20 = 0;
  }
  else {
    uVar15 = FUN_0010c4a8(ppppppiVar12,ppppppiVar27,0,0,3,ppppppiVar23,uStack_6d);
    if (((uint)(*ppppppiVar12)[9] & 0x4000) != 0) {
      uVar16 = (*(code *)(*(int *)(puVar33 + 0x86814) + -0x6eb0))(ppppppiVar12,ppppppiVar23);
      uVar15 = uVar15 | uVar16;
    }
    pppppiVar31 = ppppppiVar12[0xb];
    iVar7 = *(int *)(puVar33 + 0x86810);
    iVar20 = (int)pppppiVar31 + 1;
    ppppppiVar12[0xb] = (int *****)(*(short *)((int)ppppppiVar23 + 0x2a) + 1 + (int)pppppiVar31);
    (*(code *)(iVar7 + 0x10fc))(pppppiVar28,0x4e,local_7c,iVar20,0);
    uVar16 = 0;
    iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);
    if (0 < iVar7) {
      iVar22 = *(int *)(puVar33 + 0x86814);
      do {
        if ((uVar15 == 0xffffffff) ||
           (((int)uVar16 < 0x20 && ((1 << (uVar16 & 0x1f) & uVar15) != 0)))) {
          (*(code *)(iVar22 + 0x4eb8))
                    (pppppiVar28,ppppppiVar23,ppppppiVar26,uVar16,(int)pppppiVar31 + uVar16 + 2);
          iVar7 = (int)*(short *)((int)ppppppiVar23 + 0x2a);
        }
        uVar16 = uVar16 + 1;
      } while ((int)uVar16 < iVar7);
    }
    ppppiVar17 = pppppiVar28[0x1b];
    iVar7 = *(int *)(puVar33 + 0x86818);
    FUN_0010d314(ppppppiVar12,ppppppiVar27,0x75,0,1,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);
    if ((int)ppppiVar17 < (int)pppppiVar28[0x1b]) {
      (*(code *)(*(int *)(puVar33 + 0x86810) + 0x13a0))
                (pppppiVar28,uVar21,ppppppiVar26,pppppiVar30,local_7c,(int)local_78._2_2_);
      pppppiStack_d0 = (int *****)0xffffffff;
    }
    MASKED(ppppppiVar12,ppppppiVar23,iVar20,0,0,0);
    pppppiVar31 = ppppppiVar23[3];
  }
  if (pppppiVar31 == (int *****)0x0) {
    FUN_000ef78c(ppppppiVar12,ppppppiVar23,ppppppiVar26,in_stack_ffffff80,0,pppppiStack_d0);
    iVar22 = *(int *)(puVar33 + 0x86810);
    (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,ppppppiVar26,uStack_71,0);
    if (*(char *)((int)ppppppiVar12 + 0x12) == '\0') {
LAB_0010a8b0:
      (*(code *)(*(int *)(puVar33 + 0x867f4) + -0x24d4))(pppppiVar28,ppppppiVar23,0xfffffffa);
    }
    else if ((*ppppppiVar23 != (int *****)0x0) &&
            (iVar18 = (*(code *)(*(int *)(puVar33 + 0x867f8) + 0x20c8))
                                (*ppppppiVar23,*(int *)(puVar33 + 0x865ac) + -0x3128), iVar18 == 0))
    goto LAB_0010a8b0;
    if (cStack_69 == '\0') {
      if (-1 < (int)pppppiStack_d0) goto LAB_0010a7a4;
      uVar24 = 0;
    }
    else {
      if (0 < (int)pppppiVar28[0x1b]) {
        *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = 4;
      }
      if (-1 < (int)pppppiStack_d0) {
LAB_0010a7a4:
        if ((int ******)pppppiStack_d0 != ppppppiVar26) {
          (*(code *)(iVar22 + 0x10fc))(pppppiVar28,0x7b,pppppiStack_d0,0,0);
        }
      }
      uVar24 = 2;
      if (cStack_69 != '\x02') {
        uVar24 = 0;
      }
    }
    if (0 < (int)pppppiVar28[0x1b]) {
      *(undefined2 *)((int)pppppiVar28[0x1a] + (int)pppppiVar28[0x1b] * 0x18 + -0x16) = uVar24;
      ppppiVar17 = (*ppppppiVar12)[9];
      goto joined_r0x0010a810;
    }
  }
  ppppiVar17 = (*ppppppiVar12)[9];
joined_r0x0010a810:
  if (((uint)ppppiVar17 & 0x4000) != 0) {
    FUN_0010c7f8(ppppppiVar12,ppppppiVar23,0,iVar20,0,0);
  }
  (*(code *)(iVar7 + -0x2cec))
            (ppppppiVar12,ppppppiVar27,0x75,0,2,ppppppiVar23,iVar20,uStack_6d,pppppiVar30);
                    /* WARNING: Could not recover jumptable at 0x0010a6a4. Too many branches */
                    /* WARNING: Treating indirect jump as call */
  (*(code *)(*(int *)(puVar33 + 0x86810) + 0xd78))(pppppiVar28,pppppiVar30);
  return;
}

