
int compgen_builtin(WORD_LIST *list)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  char *pcVar4;
  uint uVar5;
  uint uVar6;
  int iVar7;
  undefined4 *puVar8;
  char *pcVar9;
  undefined4 uVar10;
  char **ppcVar11;
  ulong *puVar12;
  int iVar13;
  char *pcVar14;
  int iVar15;
  WORD_LIST *list_00;
  uint *puVar16;
  ulong *in_a2;
  char cVar17;
  int *piVar18;
  STRINGLIST *sl;
  int *unaff_s2;
  int *piVar19;
  int *unaff_s3;
  int unaff_s4;
  int unaff_s5;
  int unaff_s6;
  int unaff_s7;
  int in_t9;
  code *pcVar20;
  undefined4 *unaff_s8;
  code *pcVar21;
  uint uStack_94;
  uint uStack_90;
  char *pcStack_8c;
  int *piStack_88;
  STRINGLIST *pSStack_84;
  int *piStack_80;
  int *piStack_7c;
  int iStack_78;
  int iStack_74;
  int iStack_70;
  int iStack_6c;
  undefined4 *puStack_68;
  code *pcStack_64;
  undefined4 uStack_50;
  undefined4 uStack_4c;
  int local_48;
  ulong *puStack_3c;
  ulong acts;
  ulong copts;
  WORD_LIST *local_2c;
  
  local_48 = in_t9 + 0x7ea94;
  piVar18 = *(int **)(in_t9 + 0x78a30);
  local_2c = (WORD_LIST *)*piVar18;
  sl = *(STRINGLIST **)(in_t9 + 0x776a8);
  if (list == (WORD_LIST *)0x0) {
    puVar12 = (ulong *)0x0;
  }
  else {
    unaff_s2 = *(int **)(in_t9 + 0x776a8);
    in_a2 = &acts;
    unaff_s3 = *(int **)(in_t9 + 0x776a8);
    unaff_s4 = *(int *)(in_t9 + 0x776a8);
    unaff_s5 = *(int *)(in_t9 + 0x776a8);
    unaff_s6 = *(int *)(in_t9 + 0x776a8);
    unaff_s7 = *(int *)(in_t9 + 0x776a8);
    copts = 0;
    acts = 0;
    sl[-0x88e].list_len = 0;
    unaff_s2[-0x19a7] = 0;
    unaff_s3[-0x19a6] = 0;
    *(undefined4 *)(unaff_s4 + -0x6694) = 0;
    *(undefined4 *)(unaff_s5 + -0x6690) = 0;
    *(undefined4 *)(unaff_s6 + -0x668c) = 0;
    *(undefined4 *)(unaff_s7 + -0x6688) = 0;
    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);
    puVar12 = (ulong *)iVar7;
    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {
      if ((**(int **)(local_48 + -0x6cdc) == 0) ||
         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0
         )) {
        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);
      }
      else {
        puStack_3c = (ulong *)*puVar8;
      }
      if (unaff_s2[-0x19a7] != 0) {
        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))
                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);
        builtin_error(pcVar9);
      }
      if (sl[-0x88e].list_len != 0) {
        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))
                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);
        builtin_error(pcVar9);
      }
      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();
      iVar7 = *(int *)(unaff_s7 + -0x6688);
      unaff_s8[1] = acts;
      unaff_s8[2] = copts;
      *unaff_s8 = 1;
      if (iVar7 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));
      }
      iVar15 = *(int *)(unaff_s6 + -0x668c);
      unaff_s8[3] = iVar7;
      if (iVar15 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))();
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));
      }
      iVar7 = *(int *)(unaff_s5 + -0x6690);
      unaff_s8[4] = iVar15;
      if (iVar7 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));
      }
      iVar15 = *(int *)(unaff_s4 + -0x6694);
      unaff_s8[5] = iVar7;
      if (iVar15 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))();
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));
      }
      iVar7 = unaff_s2[-0x19a7];
      unaff_s8[6] = iVar15;
      if (iVar7 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);
      }
      iVar15 = sl[-0x88e].list_len;
      unaff_s8[7] = iVar7;
      if (iVar15 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))();
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);
      }
      iVar7 = unaff_s3[-0x19a6];
      unaff_s8[8] = iVar15;
      if (iVar7 != 0) {
        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);
        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);
        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);
      }
      unaff_s3 = *(int **)(local_48 + -0x6d24);
      unaff_s2 = *(int **)(local_48 + -0x6d20);
      iVar15 = *(int *)(local_48 + -0x7f94);
      pcVar20 = *(code **)(local_48 + -0x6cfc);
      unaff_s5 = *unaff_s3;
      unaff_s4 = *unaff_s2;
      unaff_s8[10] = iVar7;
      uStack_4c = 0;
      uStack_50 = 0;
      *unaff_s3 = 0;
      *unaff_s2 = 0;
      in_a2 = puStack_3c;
      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);
      *unaff_s3 = unaff_s5;
      *unaff_s2 = unaff_s4;
      if (sl == (STRINGLIST *)0x0) {
        pcVar20 = *(code **)(local_48 + -0x6e54);
        if ((copts & 0x40) != 0) {
LAB_000cdfa0:
          in_a2 = (ulong *)0x0;
          uStack_50 = 0;
          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);
          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);
          strvec_dispose(ppcVar11);
          if (sl != (STRINGLIST *)0x0) {
            if (sl->list_len != 0) goto LAB_000cdee4;
            goto LAB_000cde58;
          }
        }
        puVar12 = (ulong *)0x1;
        if ((copts & 2) != 0) {
          sl = (STRINGLIST *)0x0;
          uVar10 = *(undefined4 *)(local_48 + -0x70c0);
LAB_000cdf2c:
          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);
          strlist_dispose(sl);
          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);
          strvec_dispose(ppcVar11);
          if (sl != (STRINGLIST *)0x0) {
            iVar7 = 1;
            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;
            goto LAB_000cde64;
          }
          puVar12 = (ulong *)0x1;
        }
      }
      else {
        if (sl->list_len == 0) {
          pcVar20 = *(code **)(local_48 + -0x6e54);
          if ((copts & 0x40) != 0) goto LAB_000cdfa0;
LAB_000cde58:
          uVar10 = *(undefined4 *)(local_48 + -0x70c0);
          if ((copts & 2) != 0) goto LAB_000cdf2c;
        }
        else {
LAB_000cdee4:
          if (sl->list != (char **)0x0) {
LAB_000cdef0:
            strlist_print(sl,(char *)0x0);
            iVar7 = 0;
            goto LAB_000cde64;
          }
        }
        iVar7 = 1;
LAB_000cde64:
        puStack_3c = (ulong *)iVar7;
        strlist_dispose(sl);
        puVar12 = puStack_3c;
      }
      puStack_3c = puVar12;
      (**(code **)(local_48 + -0x6d10))(unaff_s8);
      puVar12 = puStack_3c;
    }
  }
  if (local_2c == (WORD_LIST *)*piVar18) {
    return (int)puVar12;
  }
  pcVar20 = *(code **)(local_48 + -0x60b8);
  pcVar21 = compopt_builtin;
  list_00 = local_2c;
  (*pcVar20)();
  puVar8 = *(undefined4 **)(pcVar20 + 0x784cc);
  bVar2 = false;
  bVar3 = false;
  bVar1 = false;
  uStack_90 = 0;
  uStack_94 = 0;
  pcStack_8c = (char *)*puVar8;
  iVar7 = *(int *)(pcVar20 + 0x7659c);
  piVar19 = *(int **)(pcVar20 + 0x778e0);
  piStack_88 = piVar18;
  pSStack_84 = sl;
  piStack_80 = unaff_s2;
  piStack_7c = unaff_s3;
  iStack_78 = unaff_s4;
  iStack_74 = unaff_s5;
  iStack_70 = unaff_s6;
  iStack_6c = unaff_s7;
  puStack_68 = unaff_s8;
  pcStack_64 = pcVar21;
  reset_internal_getopt();
  iVar15 = *(int *)(pcVar20 + 0x76558);
LAB_000ce098:
  iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));
  if (iVar13 != -1) {
    while( true ) {
      if (*piVar19 == 0x2d) {
        puVar16 = &uStack_94;
      }
      else {
        puVar16 = &uStack_90;
      }
      if (iVar13 == 0x45) {
        bVar2 = true;
        goto LAB_000ce098;
      }
      if (0x45 < iVar13) break;
      if (iVar13 == -99) {
        iVar7 = 0x102;
        builtin_help();
        goto LAB_000ce240;
      }
      if (iVar13 != 0x44) goto LAB_000ce280;
      bVar1 = true;
      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));
      if (iVar13 == -1) goto LAB_000ce108;
    }
    if (iVar13 == 0x49) {
      bVar3 = true;
    }
    else {
      if (iVar13 != 0x6f) {
LAB_000ce280:
        iVar7 = 0x102;
        builtin_usage();
        goto LAB_000ce240;
      }
      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);
      iVar13 = find_compopt(pcVar9);
      if (iVar13 < 0) {
        iVar7 = 0x102;
        sh_invalidoptname(pcVar9);
        goto LAB_000ce240;
      }
      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);
    }
    goto LAB_000ce098;
  }
LAB_000ce108:
  piVar18 = (int *)**(int **)(pcVar20 + 0x77854);
  if (bVar1) {
    pcVar21 = *(code **)(pcVar20 + 0x76af8);
    iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;
LAB_000ce29c:
    uVar10 = (*pcVar21)(iVar7);
    piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);
    if (piVar18 != (int *)0x0) {
      if (piVar19 != (int *)0x0) {
        piVar18 = piVar19;
      }
      goto LAB_000ce130;
    }
    piVar18 = piVar19;
    if (piVar19 != (int *)0x0) goto LAB_000ce130;
LAB_000ce360:
    uVar6 = uStack_90;
    uVar5 = uStack_94;
    if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||
       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {
      iVar7 = 1;
      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);
      builtin_error(pcVar9);
    }
    else {
      if (uStack_94 == 0 && uStack_90 == 0) {
        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);
        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);
        if (pcStack_8c == (char *)*puVar8) {
          iVar7 = sh_chkwrite(0);
          return iVar7;
        }
        goto LAB_000ce480;
      }
      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);
      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);
      iVar7 = 0;
      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);
      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);
    }
  }
  else {
    if (bVar2) {
      pcVar21 = *(code **)(pcVar20 + 0x76af8);
      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;
      goto LAB_000ce29c;
    }
    if (bVar3) {
      pcVar21 = *(code **)(pcVar20 + 0x76af8);
      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;
      goto LAB_000ce29c;
    }
    piVar19 = (int *)0x0;
    if (piVar18 == (int *)0x0) goto LAB_000ce360;
LAB_000ce130:
    iVar7 = 0;
    iVar15 = *(int *)(pcVar20 + 0x7659c);
    do {
      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);
      uVar5 = uStack_90;
      if (iVar13 == 0) {
        in_a2 = (ulong *)&DAT_00000005;
        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);
        iVar7 = 1;
        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);
      }
      else if (uStack_94 == 0 && uStack_90 == 0) {
        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);
      }
      else {
        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);
        in_a2 = (ulong *)0x0;
        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);
      }
      piVar18 = (int *)*piVar18;
    } while (piVar18 != (int *)0x0);
    if (piVar19 != (int *)0x0) {
      (**(code **)(pcVar20 + 0x765bc))(piVar19);
    }
  }
LAB_000ce240:
  pcVar9 = pcStack_8c;
  if (pcStack_8c == (char *)*puVar8) {
    return iVar7;
  }
LAB_000ce480:
  iVar7 = (**(code **)(pcVar20 + 0x78478))();
  if (pcVar9 != (char *)0x0) {
    cVar17 = *pcVar9;
    if (cVar17 == '\0') {
      *pcVar9 = '\0';
      return iVar7;
    }
    iVar7 = 0;
    pcVar4 = pcVar9;
    do {
      pcVar14 = pcVar4 + 1;
      iVar15 = iVar7;
      iVar13 = iVar7 + 1;
      if (cVar17 == '\\') {
        iVar15 = iVar7 + 1;
        iVar13 = iVar7 + 2;
      }
      iVar7 = iVar13;
      cVar17 = pcVar9[iVar15];
      *pcVar4 = cVar17;
    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));
    *pcVar14 = '\0';
  }
  return iVar7;
}



int compgen_builtin(int param_1)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  char *pcVar4;
  undefined *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  int *piVar11;
  int iVar12;
  char *pcVar13;
  int iVar14;
  char *pcVar15;
  undefined *puVar16;
  uint *puVar17;
  char cVar18;
  undefined *unaff_s2;
  undefined *unaff_s3;
  undefined *unaff_s4;
  int iVar19;
  int *piVar20;
  undefined *unaff_s5;
  undefined *unaff_s6;
  undefined *unaff_s7;
  undefined *puVar21;
  undefined4 *unaff_s8;
  code *pcVar22;
  uint uStack_94;
  uint uStack_90;
  char *pcStack_8c;
  undefined *puStack_88;
  int *piStack_84;
  undefined *puStack_80;
  undefined *puStack_7c;
  undefined *puStack_78;
  undefined *puStack_74;
  undefined *puStack_70;
  undefined *puStack_6c;
  undefined4 *puStack_68;
  code *pcStack_64;
  undefined4 local_50;
  undefined4 local_4c;
  undefined *local_3c;
  undefined4 local_34;
  uint local_30;
  int local_2c;
  
  puVar5 = PTR___stack_chk_guard_001464dc;
  puVar21 = PTR___environ_00145154;
  local_2c = *(int *)PTR___stack_chk_guard_001464dc;
  piStack_84 = (int *)puVar21;
  if (param_1 == 0) {
    iVar8 = 0;
  }
  else {
    local_30 = 0;
    local_34 = 0;
    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;
    *(undefined4 *)(puVar21 + -0x669c) = 0;
    *(undefined4 *)(puVar21 + -0x6698) = 0;
    *(undefined4 *)(puVar21 + -0x6694) = 0;
    *(undefined4 *)(puVar21 + -0x6690) = 0;
    *(undefined4 *)(puVar21 + -0x668c) = 0;
    *(undefined4 *)(puVar21 + -0x6688) = 0;
    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);
    unaff_s2 = puVar21;
    unaff_s3 = puVar21;
    unaff_s4 = puVar21;
    unaff_s5 = puVar21;
    unaff_s6 = puVar21;
    unaff_s7 = puVar21;
    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {
      if ((*(int *)PTR_loptend_00145864 == 0) ||
         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))
      {
        local_3c = PTR_DAT_001445ac + -0x6800;
      }
      else {
        local_3c = (undefined *)*puVar9;
      }
      if (*(int *)(puVar21 + -0x669c) != 0) {
        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);
        builtin_error(uVar10);
      }
      if (*(int *)(puVar21 + -0x66a0) != 0) {
        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);
        builtin_error(uVar10);
      }
      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();
      iVar8 = *(int *)(puVar21 + -0x6688);
      unaff_s8[1] = local_34;
      unaff_s8[2] = local_30;
      *unaff_s8 = 1;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));
      }
      iVar14 = *(int *)(puVar21 + -0x668c);
      unaff_s8[3] = iVar8;
      if (iVar14 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)();
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));
      }
      iVar8 = *(int *)(puVar21 + -0x6690);
      unaff_s8[4] = iVar14;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));
      }
      iVar14 = *(int *)(puVar21 + -0x6694);
      unaff_s8[5] = iVar8;
      if (iVar14 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)();
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));
      }
      iVar8 = *(int *)(puVar21 + -0x669c);
      unaff_s8[6] = iVar14;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));
      }
      iVar14 = *(int *)(puVar21 + -0x66a0);
      unaff_s8[7] = iVar8;
      if (iVar14 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)();
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));
      }
      iVar8 = *(int *)(puVar21 + -0x6698);
      unaff_s8[8] = iVar14;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));
      }
      puVar21 = PTR_gen_compspec_completions_00145844;
      unaff_s2 = PTR_pcomp_ind_00145820;
      unaff_s3 = PTR_pcomp_line_0014581c;
      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;
      puVar16 = PTR_DAT_001445ac + -0x74e8;
      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;
      unaff_s8[10] = iVar8;
      local_4c = 0;
      local_50 = 0;
      *(undefined4 *)unaff_s3 = 0;
      *(undefined4 *)unaff_s2 = 0;
      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);
      *(undefined **)unaff_s3 = unaff_s5;
      *(undefined **)unaff_s2 = unaff_s4;
      if (piVar11 == (int *)0x0) {
        if ((local_30 & 0x40) != 0) {
LAB_000cdfa0:
          local_50 = 0;
          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);
          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);
          strvec_dispose(uVar10);
          if (piVar11 != (int *)0x0) {
            if (piVar11[2] != 0) goto LAB_000cdee4;
            goto LAB_000cde58;
          }
        }
        iVar8 = 1;
        if ((local_30 & 2) != 0) {
          piVar11 = (int *)0x0;
LAB_000cdf2c:
          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)
                             (local_3c,PTR_rl_filename_completion_function_00145480);
          strlist_dispose(piVar11);
          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);
          strvec_dispose(uVar10);
          if (piVar11 != (int *)0x0) {
            iVar8 = 1;
            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;
            goto LAB_000cde64;
          }
          iVar8 = 1;
        }
      }
      else {
        if (piVar11[2] == 0) {
          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;
LAB_000cde58:
          if ((local_30 & 2) != 0) goto LAB_000cdf2c;
        }
        else {
LAB_000cdee4:
          if (*piVar11 != 0) {
LAB_000cdef0:
            strlist_print(piVar11,0);
            iVar8 = 0;
            goto LAB_000cde64;
          }
        }
        iVar8 = 1;
LAB_000cde64:
        strlist_dispose(piVar11);
      }
      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);
      piStack_84 = piVar11;
    }
  }
  if (local_2c == *(int *)puVar5) {
    return iVar8;
  }
  pcVar22 = compopt_builtin;
  iVar8 = local_2c;
  puVar21 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);
  bVar2 = false;
  bVar3 = false;
  bVar1 = false;
  puStack_88 = puVar5;
  uStack_90 = 0;
  uStack_94 = 0;
  pcStack_8c = (char *)*puVar9;
  iVar14 = *(int *)(puVar21 + 0x7659c);
  piVar11 = *(int **)(puVar21 + 0x778e0);
  puStack_80 = unaff_s2;
  puStack_7c = unaff_s3;
  puStack_78 = unaff_s4;
  puStack_74 = unaff_s5;
  puStack_70 = unaff_s6;
  puStack_6c = unaff_s7;
  puStack_68 = unaff_s8;
  pcStack_64 = pcVar22;
  reset_internal_getopt();
  iVar19 = *(int *)(puVar21 + 0x76558);
LAB_000ce098:
  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);
  if (iVar12 != -1) {
    while( true ) {
      if (*piVar11 == 0x2d) {
        puVar17 = &uStack_94;
      }
      else {
        puVar17 = &uStack_90;
      }
      if (iVar12 == 0x45) {
        bVar2 = true;
        goto LAB_000ce098;
      }
      if (0x45 < iVar12) break;
      if (iVar12 == -99) {
        iVar8 = 0x102;
        builtin_help();
        goto LAB_000ce240;
      }
      if (iVar12 != 0x44) goto LAB_000ce280;
      bVar1 = true;
      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);
      if (iVar12 == -1) goto LAB_000ce108;
    }
    if (iVar12 == 0x49) {
      bVar3 = true;
    }
    else {
      if (iVar12 != 0x6f) {
LAB_000ce280:
        iVar8 = 0x102;
        builtin_usage();
        goto LAB_000ce240;
      }
      uVar10 = **(undefined4 **)(puVar21 + 0x77860);
      iVar12 = FUN_000cc240(uVar10);
      if (iVar12 < 0) {
        iVar8 = 0x102;
        sh_invalidoptname(uVar10);
        goto LAB_000ce240;
      }
      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);
    }
    goto LAB_000ce098;
  }
LAB_000ce108:
  piVar11 = (int *)**(int **)(puVar21 + 0x77854);
  if (bVar1) {
    pcVar22 = *(code **)(puVar21 + 0x76af8);
    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;
LAB_000ce29c:
    uVar10 = (*pcVar22)(iVar8);
    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);
    if (piVar11 != (int *)0x0) {
      if (piVar20 != (int *)0x0) {
        piVar11 = piVar20;
      }
      goto LAB_000ce130;
    }
    piVar11 = piVar20;
    if (piVar20 != (int *)0x0) goto LAB_000ce130;
LAB_000ce360:
    uVar7 = uStack_90;
    uVar6 = uStack_94;
    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||
       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {
      iVar8 = 1;
      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);
      builtin_error(uVar10);
    }
    else {
      if (uStack_94 == 0 && uStack_90 == 0) {
        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);
        FUN_000cd290(pcVar15,iVar8 + 8);
        if (pcStack_8c == (char *)*puVar9) {
          iVar8 = sh_chkwrite(0);
          return iVar8;
        }
        goto LAB_000ce480;
      }
      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);
      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);
      iVar8 = 0;
      (**(code **)(puVar21 + 0x776e4))(uVar6,1);
      (**(code **)(puVar21 + 0x776e4))(uVar7,0);
    }
  }
  else {
    if (bVar2) {
      pcVar22 = *(code **)(puVar21 + 0x76af8);
      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;
      goto LAB_000ce29c;
    }
    if (bVar3) {
      pcVar22 = *(code **)(puVar21 + 0x76af8);
      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;
      goto LAB_000ce29c;
    }
    piVar20 = (int *)0x0;
    if (piVar11 == (int *)0x0) goto LAB_000ce360;
LAB_000ce130:
    iVar8 = 0;
    iVar14 = *(int *)(puVar21 + 0x7659c);
    do {
      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);
      uVar6 = uStack_90;
      if (iVar19 == 0) {
        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);
        iVar8 = 1;
        builtin_error(uVar10,*(undefined4 *)piVar11[1]);
      }
      else if (uStack_94 == 0 && uStack_90 == 0) {
        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);
      }
      else {
        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);
        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);
      }
      piVar11 = (int *)*piVar11;
    } while (piVar11 != (int *)0x0);
    if (piVar20 != (int *)0x0) {
      (**(code **)(puVar21 + 0x765bc))(piVar20);
    }
  }
LAB_000ce240:
  pcVar15 = pcStack_8c;
  if (pcStack_8c == (char *)*puVar9) {
    return iVar8;
  }
LAB_000ce480:
  iVar8 = (**(code **)(puVar21 + 0x78478))();
  if (pcVar15 != (char *)0x0) {
    cVar18 = *pcVar15;
    if (cVar18 == '\0') {
      *pcVar15 = '\0';
      return iVar8;
    }
    iVar8 = 0;
    pcVar4 = pcVar15;
    do {
      pcVar13 = pcVar4 + 1;
      iVar14 = iVar8;
      iVar19 = iVar8 + 1;
      if (cVar18 == '\\') {
        iVar14 = iVar8 + 1;
        iVar19 = iVar8 + 2;
      }
      iVar8 = iVar19;
      cVar18 = pcVar15[iVar14];
      *pcVar4 = cVar18;
    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));
    *pcVar13 = '\0';
  }
  return iVar8;
}


lui gp,0x8
addiu gp,gp,-0x156c
addu gp,gp,t9
addiu sp,sp,-0x60
sw s0,0x38(sp)
lw s0,-0x6064(gp)
sw gp,0x18(sp)
sw ra,0x5c(sp)
sw s8,0x58(sp)
sw s7,0x54(sp)
sw s6,0x50(sp)
sw s5,0x4c(sp)
sw s4,0x48(sp)
sw s3,0x44(sp)
sw s2,0x40(sp)
sw s1,0x3c(sp)
lw v0,0x0(s0)
sw v0,0x34(sp)
beq a0,zero,0x000cded0
_lw s1,-0x73ec(gp)
addiu a3,sp,0x30
lw s2,-0x73ec(gp)
addiu a2,sp,0x2c
lw s3,-0x73ec(gp)
or a1,zero,zero
lw s4,-0x73ec(gp)
lw s5,-0x73ec(gp)
lw s6,-0x73ec(gp)
lw s7,-0x73ec(gp)
lw t9,-0x6a14(gp)
sw zero,0x30(sp)
sw zero,0x2c(sp)
addiu t9,t9,-0x3238
sw zero,-0x66a0(s1)
sw zero,-0x669c(s2)
sw zero,-0x6698(s3)
sw zero,-0x6694(s4)
sw zero,-0x6690(s5)
sw zero,-0x668c(s6)
bal 0x000ccdc8
_sw zero,-0x6688(s7)
li v1,0x102
beq v0,v1,0x000cde94
_lw gp,0x18(sp)
li v1,0x1
beq v0,v1,0x000cde94
_or v0,zero,zero
lw v0,-0x6cdc(gp)
lw v0,0x0(v0)
beq v0,zero,0x000cded8
_lw s8,-0x7f94(gp)
lw v0,0x4(v0)
beq v0,zero,0x000cded8
_nop
lw v0,0x0(v0)
sw v0,0x24(sp)
lw v0,-0x669c(s2)
beq v0,zero,0x000cdbc0
_lw a1,-0x7f94(gp)
li a2,0x5
lw t9,-0x60a8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0x5658
lw gp,0x18(sp)
lw t9,-0x7510(gp)
bal 0x000afe94
_or a0,v0,zero
lw gp,0x18(sp)
lw v0,-0x66a0(s1)
beq v0,zero,0x000cdbf4
_lw a1,-0x7f94(gp)
li a2,0x5
lw t9,-0x60a8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0x5628
lw gp,0x18(sp)
lw t9,-0x7510(gp)
bal 0x000afe94
_or a0,v0,zero
lw gp,0x18(sp)
lw t9,-0x6d18(gp)
jalr t9
_nop
lw a0,0x2c(sp)
or s8,v0,zero
lw gp,0x18(sp)
lw v0,-0x6688(s7)
sw a0,0x4(s8)
lw a0,0x30(sp)
sw a0,0x8(s8)
li a0,0x1
beq v0,zero,0x000cdc5c
_sw a0,0x0(s8)
lw t9,-0x61b0(gp)
jalr t9
_or a0,v0,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x6688(s7)
lw gp,0x18(sp)
lw a0,-0x668c(s6)
beq a0,zero,0x000cdca0
_sw v0,0xc(s8)
lw t9,-0x61b0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x668c(s6)
lw gp,0x18(sp)
or a0,v0,zero
lw v0,-0x6690(s5)
beq v0,zero,0x000cdce0
_sw a0,0x10(s8)
lw t9,-0x61b0(gp)
jalr t9
_or a0,v0,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x6690(s5)
lw gp,0x18(sp)
lw a0,-0x6694(s4)
beq a0,zero,0x000cdd24
_sw v0,0x14(s8)
lw t9,-0x61b0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x6694(s4)
lw gp,0x18(sp)
or a0,v0,zero
lw v0,-0x669c(s2)
beq v0,zero,0x000cdd64
_sw a0,0x18(s8)
lw t9,-0x61b0(gp)
jalr t9
_or a0,v0,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x669c(s2)
lw gp,0x18(sp)
lw a0,-0x66a0(s1)
beq a0,zero,0x000cdda8
_sw v0,0x1c(s8)
lw t9,-0x61b0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x66a0(s1)
lw gp,0x18(sp)
or a0,v0,zero
lw v0,-0x6698(s3)
beq v0,zero,0x000cdde8
_sw a0,0x20(s8)
lw t9,-0x61b0(gp)
jalr t9
_or a0,v0,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6128(gp)
jalr t9
_lw a1,-0x6698(s3)
lw gp,0x18(sp)
lw s3,-0x6d24(gp)
or a3,zero,zero
lw s2,-0x6d20(gp)
or a0,s8,zero
lw a1,-0x7f94(gp)
lw t9,-0x6cfc(gp)
lw a2,0x24(sp)
lw s5,0x0(s3)
addiu a1,a1,-0x74e8
lw s4,0x0(s2)
sw v0,0x28(s8)
sw zero,0x14(sp)
sw zero,0x10(sp)
sw zero,0x0(s3)
jalr t9
_sw zero,0x0(s2)
lw gp,0x18(sp)
or s1,v0,zero
sw s5,0x0(s3)
beq v0,zero,0x000cdf08
_sw s4,0x0(s2)
lw v0,0x8(v0)
bne v0,zero,0x000cdee4
_lw v0,0x30(sp)
andi a0,v0,0x40
bne a0,zero,0x000cdfa0
_lw t9,-0x6e54(gp)
andi v0,v0,0x2
bne v0,zero,0x000cdf2c
_lw a1,-0x70c0(gp)
li v0,0x1
lw t9,-0x6d84(gp)
or a0,s1,zero
bal 0x000d95ac
_sw v0,0x24(sp)
lw gp,0x18(sp)
lw v0,0x24(sp)
lw t9,-0x6d10(gp)
or a0,s8,zero
jalr t9
_sw v0,0x24(sp)
lw gp,0x18(sp)
lw v0,0x24(sp)
lw a0,0x34(sp)
lw v1,0x0(s0)
bne a0,v1,0x000ce004
_lw ra,0x5c(sp)
lw s8,0x58(sp)
lw s7,0x54(sp)
lw s6,0x50(sp)
lw s5,0x4c(sp)
lw s4,0x48(sp)
lw s3,0x44(sp)
lw s2,0x40(sp)
lw s1,0x3c(sp)
lw s0,0x38(sp)
jr ra
_addiu sp,sp,0x60
b 0x000cde94
_or v0,zero,zero
addiu v0,s8,-0x6800
b 0x000cdb8c
_sw v0,0x24(sp)
lw v0,0x0(s1)
beq v0,zero,0x000cde60
_lw t9,-0x69fc(gp)
or a1,zero,zero
bal 0x000d9e44
_or a0,s1,zero
or v0,zero,zero
b 0x000cde64
_lw gp,0x18(sp)
lw v0,0x30(sp)
andi a0,v0,0x40
bne a0,zero,0x000cdfa0
_lw t9,-0x6e54(gp)
andi v0,v0,0x2
beq v0,zero,0x000cde7c
_li v0,0x1
or s1,zero,zero
lw a1,-0x70c0(gp)
lw t9,-0x6fbc(gp)
jalr t9
_lw a0,0x24(sp)
or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x6d84(gp)
bal 0x000d95ac
_or s1,v0,zero
lw gp,0x18(sp)
lw t9,-0x6d40(gp)
jalr t9
_or a0,s1,zero
or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7474(gp)
bal 0x000da234
_or s1,v0,zero
beq s1,zero,0x000cdf98
_lw gp,0x18(sp)
lw v0,0x0(s1)
beq v0,zero,0x000cde64
_li v0,0x1
lw a0,0x8(s1)
beq a0,zero,0x000cde64
_lw t9,-0x69fc(gp)
b 0x000cdef0
_nop
b 0x000cde7c
_li v0,0x1
or a3,zero,zero
lw a0,0x24(sp)
or a2,zero,zero
or a1,zero,zero
jalr t9
_sw zero,0x10(sp)
lw gp,0x18(sp)
or a0,v0,zero
lw t9,-0x6d40(gp)
jalr t9
_or s1,v0,zero
or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7474(gp)
bal 0x000da234
_or s1,v0,zero
beq s1,zero,0x000cdffc
_lw gp,0x18(sp)
lw v0,0x8(s1)
bne v0,zero,0x000cdee4
_lw v0,0x30(sp)
b 0x000cde58
_andi v0,v0,0x2
b 0x000cdf18
_lw v0,0x30(sp)
lw t9,-0x60b8(gp)
jalr t9
_nop
(translation_unit "int compgen_builtin(int param_1)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}\n\n" (function_definition "int compgen_builtin(int param_1)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}" primitive_type (function_declarator "compgen_builtin(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "char cVar18;" primitive_type identifier ;) (declaration "undefined *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "undefined *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "undefined *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "uint uStack_90;" type_identifier identifier ;) (declaration "char *pcStack_8c;" primitive_type (pointer_declarator "*pcStack_8c" * identifier) ;) (declaration "undefined *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "int *piStack_84;" primitive_type (pointer_declarator "*piStack_84" * identifier) ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "undefined *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "undefined *puStack_6c;" type_identifier (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "undefined4 *puStack_68;" type_identifier (pointer_declarator "*puStack_68" * identifier) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar5 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar21 = PTR___environ_00145154;" (assignment_expression "puVar21 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piStack_84 = (int *)puVar21;" (assignment_expression "piStack_84 = (int *)puVar21" identifier = (cast_expression "(int *)puVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar8 = 0;\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" else (compound_statement "{\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" { (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x66a0)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x66a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66a0)" ( (binary_expression "PTR___environ_00145154 + -0x66a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x669c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x669c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x669c)" * (cast_expression "(undefined4 *)(puVar21 + -0x669c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6698) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6698) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6698)" * (cast_expression "(undefined4 *)(puVar21 + -0x6698)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6698)" ( (binary_expression "puVar21 + -0x6698" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6694) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6694) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6694)" * (cast_expression "(undefined4 *)(puVar21 + -0x6694)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6694)" ( (binary_expression "puVar21 + -0x6694" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6690) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6690) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6690)" * (cast_expression "(undefined4 *)(puVar21 + -0x6690)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6690)" ( (binary_expression "puVar21 + -0x6690" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x668c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x668c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x668c)" * (cast_expression "(undefined4 *)(puVar21 + -0x668c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x668c)" ( (binary_expression "puVar21 + -0x668c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6688) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6688) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6688)" * (cast_expression "(undefined4 *)(puVar21 + -0x6688)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6688)" ( (binary_expression "puVar21 + -0x6688" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);" (assignment_expression "iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30)" identifier = (call_expression "FUN_000ccdc8(param_1,0,&local_34,&local_30)" identifier (argument_list "(param_1,0,&local_34,&local_30)" ( identifier , number_literal , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "unaff_s2 = puVar21;" (assignment_expression "unaff_s2 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s3 = puVar21;" (assignment_expression "unaff_s3 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s4 = puVar21;" (assignment_expression "unaff_s4 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar21;" (assignment_expression "unaff_s5 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s6 = puVar21;" (assignment_expression "unaff_s6 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s7 = puVar21;" (assignment_expression "unaff_s7 = puVar21" identifier = identifier) ;) (if_statement "if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }" if (parenthesized_expression "((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1))" ( (binary_expression "(iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)" (parenthesized_expression "(iVar8 != 0x102)" ( (binary_expression "iVar8 != 0x102" identifier != number_literal) )) && (parenthesized_expression "(bVar1 = iVar8 != 1, iVar8 = 0, bVar1)" ( (comma_expression "bVar1 = iVar8 != 1, iVar8 = 0, bVar1" (assignment_expression "bVar1 = iVar8 != 1" identifier = (binary_expression "iVar8 != 1" identifier != number_literal)) , (comma_expression "iVar8 = 0, bVar1" (assignment_expression "iVar8 = 0" identifier = number_literal) , identifier)) ))) )) (compound_statement "{\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }" { (if_statement "if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }" if (parenthesized_expression "((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))" ( (binary_expression "(*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(*(int *)PTR_loptend_00145864 == 0)" ( (binary_expression "*(int *)PTR_loptend_00145864 == 0" (pointer_expression "*(int *)PTR_loptend_00145864" * (cast_expression "(int *)PTR_loptend_00145864" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0)" ( (comma_expression "puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" * (cast_expression "(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_loptend_00145864 + 4)" ( (binary_expression "*(int *)PTR_loptend_00145864 + 4" (pointer_expression "*(int *)PTR_loptend_00145864" * (cast_expression "(int *)PTR_loptend_00145864" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }" { (expression_statement "local_3c = PTR_DAT_001445ac + -0x6800;" (assignment_expression "local_3c = PTR_DAT_001445ac + -0x6800" identifier = (binary_expression "PTR_DAT_001445ac + -0x6800" identifier + number_literal)) ;) }) (else_clause "else {\n        local_3c = (undefined *)*puVar9;\n      }" else (compound_statement "{\n        local_3c = (undefined *)*puVar9;\n      }" { (expression_statement "local_3c = (undefined *)*puVar9;" (assignment_expression "local_3c = (undefined *)*puVar9" identifier = (cast_expression "(undefined *)*puVar9" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) }))) (if_statement "if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }" if (parenthesized_expression "(*(int *)(puVar21 + -0x669c) != 0)" ( (binary_expression "*(int *)(puVar21 + -0x669c) != 0" (pointer_expression "*(int *)(puVar21 + -0x669c)" * (cast_expression "(int *)(puVar21 + -0x669c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001445ac + -0x5658,5)" ( number_literal , (binary_expression "PTR_DAT_001445ac + -0x5658" identifier + number_literal) , number_literal )))) ;) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) })) (if_statement "if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }" if (parenthesized_expression "(*(int *)(puVar21 + -0x66a0) != 0)" ( (binary_expression "*(int *)(puVar21 + -0x66a0) != 0" (pointer_expression "*(int *)(puVar21 + -0x66a0)" * (cast_expression "(int *)(puVar21 + -0x66a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x66a0)" ( (binary_expression "puVar21 + -0x66a0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001445ac + -0x5628,5)" ( number_literal , (binary_expression "PTR_DAT_001445ac + -0x5628" identifier + number_literal) , number_literal )))) ;) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) })) (expression_statement "unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();" (assignment_expression "unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_compspec_create_00145828)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_compspec_create_00145828)()" (parenthesized_expression "(*(code *)PTR_compspec_create_00145828)" ( (pointer_expression "*(code *)PTR_compspec_create_00145828" * (cast_expression "(code *)PTR_compspec_create_00145828" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6688);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6688)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6688)" * (cast_expression "(int *)(puVar21 + -0x6688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6688)" ( (binary_expression "puVar21 + -0x6688" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s8[2] = local_30;" (assignment_expression "unaff_s8[2] = local_30" (subscript_expression "unaff_s8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s8 = 1;" (assignment_expression "*unaff_s8 = 1" (pointer_expression "*unaff_s8" * identifier) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6688))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6688)" * (cast_expression "(undefined4 *)(puVar21 + -0x6688)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6688)" ( (binary_expression "puVar21 + -0x6688" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar14 = *(int *)(puVar21 + -0x668c);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x668c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x668c)" * (cast_expression "(int *)(puVar21 + -0x668c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x668c)" ( (binary_expression "puVar21 + -0x668c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[3] = iVar8;" (assignment_expression "unaff_s8[3] = iVar8" (subscript_expression "unaff_s8[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" identifier = (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x668c))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x668c)" * (cast_expression "(undefined4 *)(puVar21 + -0x668c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x668c)" ( (binary_expression "puVar21 + -0x668c" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6690);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6690)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6690)" * (cast_expression "(int *)(puVar21 + -0x6690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6690)" ( (binary_expression "puVar21 + -0x6690" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[4] = iVar14;" (assignment_expression "unaff_s8[4] = iVar14" (subscript_expression "unaff_s8[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6690))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6690)" * (cast_expression "(undefined4 *)(puVar21 + -0x6690)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6690)" ( (binary_expression "puVar21 + -0x6690" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar14 = *(int *)(puVar21 + -0x6694);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x6694)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6694)" * (cast_expression "(int *)(puVar21 + -0x6694)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6694)" ( (binary_expression "puVar21 + -0x6694" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[5] = iVar8;" (assignment_expression "unaff_s8[5] = iVar8" (subscript_expression "unaff_s8[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" identifier = (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6694))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6694)" * (cast_expression "(undefined4 *)(puVar21 + -0x6694)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6694)" ( (binary_expression "puVar21 + -0x6694" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar8 = *(int *)(puVar21 + -0x669c);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x669c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x669c)" * (cast_expression "(int *)(puVar21 + -0x669c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[6] = iVar14;" (assignment_expression "unaff_s8[6] = iVar14" (subscript_expression "unaff_s8[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x669c))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x669c)" * (cast_expression "(undefined4 *)(puVar21 + -0x669c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar14 = *(int *)(puVar21 + -0x66a0);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x66a0)" identifier = (pointer_expression "*(int *)(puVar21 + -0x66a0)" * (cast_expression "(int *)(puVar21 + -0x66a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x66a0)" ( (binary_expression "puVar21 + -0x66a0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[7] = iVar8;" (assignment_expression "unaff_s8[7] = iVar8" (subscript_expression "unaff_s8[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" identifier = (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x66a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x66a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x66a0)" ( (binary_expression "puVar21 + -0x66a0" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6698);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6698)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6698)" * (cast_expression "(int *)(puVar21 + -0x6698)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6698)" ( (binary_expression "puVar21 + -0x6698" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[8] = iVar14;" (assignment_expression "unaff_s8[8] = iVar14" (subscript_expression "unaff_s8[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6698))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6698)" * (cast_expression "(undefined4 *)(puVar21 + -0x6698)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6698)" ( (binary_expression "puVar21 + -0x6698" identifier + number_literal) )))) )))) ;) })) (expression_statement "puVar21 = PTR_gen_compspec_completions_00145844;" (assignment_expression "puVar21 = PTR_gen_compspec_completions_00145844" identifier = identifier) ;) (expression_statement "unaff_s2 = PTR_pcomp_ind_00145820;" (assignment_expression "unaff_s2 = PTR_pcomp_ind_00145820" identifier = identifier) ;) (expression_statement "unaff_s3 = PTR_pcomp_line_0014581c;" (assignment_expression "unaff_s3 = PTR_pcomp_line_0014581c" identifier = identifier) ;) (expression_statement "unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;" (assignment_expression "unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c" identifier = (pointer_expression "*(undefined **)PTR_pcomp_line_0014581c" * (cast_expression "(undefined **)PTR_pcomp_line_0014581c" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar16 = PTR_DAT_001445ac + -0x74e8;" (assignment_expression "puVar16 = PTR_DAT_001445ac + -0x74e8" identifier = (binary_expression "PTR_DAT_001445ac + -0x74e8" identifier + number_literal)) ;) (expression_statement "unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;" (assignment_expression "unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820" identifier = (pointer_expression "*(undefined **)PTR_pcomp_ind_00145820" * (cast_expression "(undefined **)PTR_pcomp_ind_00145820" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "unaff_s8[10] = iVar8;" (assignment_expression "unaff_s8[10] = iVar8" (subscript_expression "unaff_s8[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)unaff_s3 = 0;" (assignment_expression "*(undefined4 *)unaff_s3 = 0" (pointer_expression "*(undefined4 *)unaff_s3" * (cast_expression "(undefined4 *)unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)unaff_s2 = 0;" (assignment_expression "*(undefined4 *)unaff_s2 = 0" (pointer_expression "*(undefined4 *)unaff_s2" * (cast_expression "(undefined4 *)unaff_s2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);" (assignment_expression "piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" identifier = (cast_expression "(int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,puVar16,local_3c,0)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "*(undefined **)unaff_s3 = unaff_s5;" (assignment_expression "*(undefined **)unaff_s3 = unaff_s5" (pointer_expression "*(undefined **)unaff_s3" * (cast_expression "(undefined **)unaff_s3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined **)unaff_s2 = unaff_s4;" (assignment_expression "*(undefined **)unaff_s2 = unaff_s4" (pointer_expression "*(undefined **)unaff_s2" * (cast_expression "(undefined **)unaff_s2" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }" { (if_statement "if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" if (parenthesized_expression "((local_30 & 0x40) != 0)" ( (binary_expression "(local_30 & 0x40) != 0" (parenthesized_expression "(local_30 & 0x40)" ( (binary_expression "local_30 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" { (labeled_statement "LAB_000cdfa0:\n          local_50 = 0;" statement_identifier : (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;)) (expression_statement "uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);" (assignment_expression "uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0)" identifier = (call_expression "(*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0)" (parenthesized_expression "(*(code *)PTR_bash_default_completion_001456ec)" ( (pointer_expression "*(code *)PTR_bash_default_completion_001456ec" * (cast_expression "(code *)PTR_bash_default_completion_001456ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c,0,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (parenthesized_expression "(*(code *)PTR_completions_to_stringlist_00145800)" ( (pointer_expression "*(code *)PTR_completions_to_stringlist_00145800" * (cast_expression "(code *)PTR_completions_to_stringlist_00145800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10)" ( identifier ))))) ;) (expression_statement "strvec_dispose(uVar10);" (call_expression "strvec_dispose(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" { (if_statement "if (piVar11[2] != 0) goto LAB_000cdee4;" if (parenthesized_expression "(piVar11[2] != 0)" ( (binary_expression "piVar11[2] != 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000cdee4;" goto statement_identifier ;)) (goto_statement "goto LAB_000cde58;" goto statement_identifier ;) })) })) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }" if (parenthesized_expression "((local_30 & 2) != 0)" ( (binary_expression "(local_30 & 2) != 0" (parenthesized_expression "(local_30 & 2)" ( (binary_expression "local_30 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }" { (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);" statement_identifier : (expression_statement "uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);" (assignment_expression "uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480)" identifier = (call_expression "(*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480)" (parenthesized_expression "(*(code *)PTR_rl_completion_matches_00145584)" ( (pointer_expression "*(code *)PTR_rl_completion_matches_00145584" * (cast_expression "(code *)PTR_rl_completion_matches_00145584" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c,PTR_rl_filename_completion_function_00145480)" ( identifier , identifier )))) ;)) (expression_statement "strlist_dispose(piVar11);" (call_expression "strlist_dispose(piVar11)" identifier (argument_list "(piVar11)" ( identifier ))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (parenthesized_expression "(*(code *)PTR_completions_to_stringlist_00145800)" ( (pointer_expression "*(code *)PTR_completions_to_stringlist_00145800" * (cast_expression "(code *)PTR_completions_to_stringlist_00145800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10)" ( identifier ))))) ;) (expression_statement "strvec_dispose(uVar10);" (call_expression "strvec_dispose(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;" if (parenthesized_expression "((*piVar11 != 0) && (piVar11[2] != 0))" ( (binary_expression "(*piVar11 != 0) && (piVar11[2] != 0)" (parenthesized_expression "(*piVar11 != 0)" ( (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" * identifier) != number_literal) )) && (parenthesized_expression "(piVar11[2] != 0)" ( (binary_expression "piVar11[2] != 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) != number_literal) ))) )) (goto_statement "goto LAB_000cdef0;" goto statement_identifier ;)) (goto_statement "goto LAB_000cde64;" goto statement_identifier ;) })) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" else (compound_statement "{\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" { (if_statement "if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" if (parenthesized_expression "(piVar11[2] == 0)" ( (binary_expression "piVar11[2] == 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }" { (if_statement "if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;" if (parenthesized_expression "((local_30 & 0x40) != 0)" ( (binary_expression "(local_30 & 0x40) != 0" (parenthesized_expression "(local_30 & 0x40)" ( (binary_expression "local_30 & 0x40" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cdfa0;" goto statement_identifier ;)) (labeled_statement "LAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;" statement_identifier : (if_statement "if ((local_30 & 2) != 0) goto LAB_000cdf2c;" if (parenthesized_expression "((local_30 & 2) != 0)" ( (binary_expression "(local_30 & 2) != 0" (parenthesized_expression "(local_30 & 2)" ( (binary_expression "local_30 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cdf2c;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" else (compound_statement "{\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" { (labeled_statement "LAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" statement_identifier : (if_statement "if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" if (parenthesized_expression "(*piVar11 != 0)" ( (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" * identifier) != number_literal) )) (compound_statement "{\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" { (labeled_statement "LAB_000cdef0:\n            strlist_print(piVar11,0);" statement_identifier : (expression_statement "strlist_print(piVar11,0);" (call_expression "strlist_print(piVar11,0)" identifier (argument_list "(piVar11,0)" ( identifier , number_literal ))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000cde64;" goto statement_identifier ;) }))) }))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000cde64:\n        strlist_dispose(piVar11);" statement_identifier : (expression_statement "strlist_dispose(piVar11);" (call_expression "strlist_dispose(piVar11)" identifier (argument_list "(piVar11)" ( identifier ))) ;)) }))) (expression_statement "(*(code *)PTR_compspec_dispose_00145830)(unaff_s8);" (call_expression "(*(code *)PTR_compspec_dispose_00145830)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_compspec_dispose_00145830)" ( (pointer_expression "*(code *)PTR_compspec_dispose_00145830" * (cast_expression "(code *)PTR_compspec_dispose_00145830" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))) ;) (expression_statement "piStack_84 = piVar11;" (assignment_expression "piStack_84 = piVar11" identifier = identifier) ;) })) }))) (if_statement "if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar5)" ( (binary_expression "local_2c == *(int *)puVar5" identifier == (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar8;\n  }" { (return_statement "return iVar8;" return identifier ;) })) (expression_statement "pcVar22 = compopt_builtin;" (assignment_expression "pcVar22 = compopt_builtin" identifier = identifier) ;) (expression_statement "iVar8 = local_2c;" (assignment_expression "iVar8 = local_2c" identifier = identifier) ;) (expression_statement "puVar21 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = *(undefined4 **)(puVar21 + 0x784cc);" (assignment_expression "puVar9 = *(undefined4 **)(puVar21 + 0x784cc)" identifier = (pointer_expression "*(undefined4 **)(puVar21 + 0x784cc)" * (cast_expression "(undefined4 **)(puVar21 + 0x784cc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x784cc)" ( (binary_expression "puVar21 + 0x784cc" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "puStack_88 = puVar5;" (assignment_expression "puStack_88 = puVar5" identifier = identifier) ;) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" identifier = number_literal) ;) (expression_statement "uStack_94 = 0;" (assignment_expression "uStack_94 = 0" identifier = number_literal) ;) (expression_statement "pcStack_8c = (char *)*puVar9;" (assignment_expression "pcStack_8c = (char *)*puVar9" identifier = (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "iVar14 = *(int *)(puVar21 + 0x7659c);" (assignment_expression "iVar14 = *(int *)(puVar21 + 0x7659c)" identifier = (pointer_expression "*(int *)(puVar21 + 0x7659c)" * (cast_expression "(int *)(puVar21 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x7659c)" ( (binary_expression "puVar21 + 0x7659c" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(puVar21 + 0x778e0);" (assignment_expression "piVar11 = *(int **)(puVar21 + 0x778e0)" identifier = (pointer_expression "*(int **)(puVar21 + 0x778e0)" * (cast_expression "(int **)(puVar21 + 0x778e0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x778e0)" ( (binary_expression "puVar21 + 0x778e0" identifier + number_literal) ))))) ;) (expression_statement "puStack_80 = unaff_s2;" (assignment_expression "puStack_80 = unaff_s2" identifier = identifier) ;) (expression_statement "puStack_7c = unaff_s3;" (assignment_expression "puStack_7c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_74 = unaff_s5;" (assignment_expression "puStack_74 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_70 = unaff_s6;" (assignment_expression "puStack_70 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_6c = unaff_s7;" (assignment_expression "puStack_6c = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_68 = unaff_s8;" (assignment_expression "puStack_68 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar22;" (assignment_expression "pcStack_64 = pcVar22" identifier = identifier) ;) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = *(int *)(puVar21 + 0x76558);" (assignment_expression "iVar19 = *(int *)(puVar21 + 0x76558)" identifier = (pointer_expression "*(int *)(puVar21 + 0x76558)" * (cast_expression "(int *)(puVar21 + 0x76558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76558)" ( (binary_expression "puVar21 + 0x76558" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" statement_identifier : (expression_statement "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (assignment_expression "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8)" identifier = (call_expression "internal_getopt(iVar8,iVar14 + -0x55f8)" identifier (argument_list "(iVar8,iVar14 + -0x55f8)" ( identifier , (binary_expression "iVar14 + -0x55f8" identifier + number_literal) )))) ;)) (if_statement "if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" { (while_statement "while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }" { (if_statement "if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }" if (parenthesized_expression "(*piVar11 == 0x2d)" ( (binary_expression "*piVar11 == 0x2d" (pointer_expression "*piVar11" * identifier) == number_literal) )) (compound_statement "{\n        puVar17 = &uStack_94;\n      }" { (expression_statement "puVar17 = &uStack_94;" (assignment_expression "puVar17 = &uStack_94" identifier = (pointer_expression "&uStack_94" & identifier)) ;) }) (else_clause "else {\n        puVar17 = &uStack_90;\n      }" else (compound_statement "{\n        puVar17 = &uStack_90;\n      }" { (expression_statement "puVar17 = &uStack_90;" (assignment_expression "puVar17 = &uStack_90" identifier = (pointer_expression "&uStack_90" & identifier)) ;) }))) (if_statement "if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" if (parenthesized_expression "(iVar12 == 0x45)" ( (binary_expression "iVar12 == 0x45" identifier == number_literal) )) (compound_statement "{\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_000ce098;" goto statement_identifier ;) })) (if_statement "if (0x45 < iVar12) break;" if (parenthesized_expression "(0x45 < iVar12)" ( (binary_expression "0x45 < iVar12" number_literal < identifier) )) (break_statement "break;" break ;)) (if_statement "if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar12 == -99)" ( (binary_expression "iVar12 == -99" identifier == number_literal) )) (compound_statement "{\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" { (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" identifier = number_literal) ;) (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (if_statement "if (iVar12 != 0x44) goto LAB_000ce280;" if (parenthesized_expression "(iVar12 != 0x44)" ( (binary_expression "iVar12 != 0x44" identifier != number_literal) )) (goto_statement "goto LAB_000ce280;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (assignment_expression "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8)" identifier = (call_expression "internal_getopt(iVar8,iVar14 + -0x55f8)" identifier (argument_list "(iVar8,iVar14 + -0x55f8)" ( identifier , (binary_expression "iVar14 + -0x55f8" identifier + number_literal) )))) ;) (if_statement "if (iVar12 == -1) goto LAB_000ce108;" if (parenthesized_expression "(iVar12 == -1)" ( (binary_expression "iVar12 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000ce108;" goto statement_identifier ;)) })) (if_statement "if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" if (parenthesized_expression "(iVar12 == 0x49)" ( (binary_expression "iVar12 == 0x49" identifier == number_literal) )) (compound_statement "{\n      bVar3 = true;\n    }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" else (compound_statement "{\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" { (if_statement "if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar12 != 0x6f)" ( (binary_expression "iVar12 != 0x6f" identifier != number_literal) )) (compound_statement "{\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" { (labeled_statement "LAB_000ce280:\n        iVar8 = 0x102;" statement_identifier : (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" identifier = number_literal) ;)) (expression_statement "builtin_usage();" (call_expression "builtin_usage()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (expression_statement "uVar10 = **(undefined4 **)(puVar21 + 0x77860);" (assignment_expression "uVar10 = **(undefined4 **)(puVar21 + 0x77860)" identifier = (pointer_expression "**(undefined4 **)(puVar21 + 0x77860)" * (pointer_expression "*(undefined4 **)(puVar21 + 0x77860)" * (cast_expression "(undefined4 **)(puVar21 + 0x77860)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77860)" ( (binary_expression "puVar21 + 0x77860" identifier + number_literal) )))))) ;) (expression_statement "iVar12 = FUN_000cc240(uVar10);" (assignment_expression "iVar12 = FUN_000cc240(uVar10)" identifier = (call_expression "FUN_000cc240(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (if_statement "if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }" { (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" identifier = number_literal) ;) (expression_statement "sh_invalidoptname(uVar10);" (call_expression "sh_invalidoptname(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (expression_statement "*puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);" (assignment_expression "*puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (pointer_expression "*puVar17" * identifier) = (binary_expression "*puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (pointer_expression "*puVar17" * identifier) | (pointer_expression "*(uint *)(iVar19 + iVar12 * 8 + -0x101c)" * (cast_expression "(uint *)(iVar19 + iVar12 * 8 + -0x101c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar12 * 8 + -0x101c)" ( (binary_expression "iVar19 + iVar12 * 8 + -0x101c" (binary_expression "iVar19 + iVar12 * 8" identifier + (binary_expression "iVar12 * 8" identifier * number_literal)) + number_literal) )))))) ;) }))) (goto_statement "goto LAB_000ce098;" goto statement_identifier ;) })) (labeled_statement "LAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);" statement_identifier : (expression_statement "piVar11 = (int *)**(int **)(puVar21 + 0x77854);" (assignment_expression "piVar11 = (int *)**(int **)(puVar21 + 0x77854)" identifier = (cast_expression "(int *)**(int **)(puVar21 + 0x77854)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar21 + 0x77854)" * (pointer_expression "*(int **)(puVar21 + 0x77854)" * (cast_expression "(int **)(puVar21 + 0x77854)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77854)" ( (binary_expression "puVar21 + 0x77854" identifier + number_literal) ))))))) ;)) (if_statement "if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" identifier = (pointer_expression "*(code **)(puVar21 + 0x76af8)" * (cast_expression "(code **)(puVar21 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76af8)" ( (binary_expression "puVar21 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec" identifier = (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x65ec" (pointer_expression "*(int *)(puVar21 + 0x76a84)" * (cast_expression "(int *)(puVar21 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76a84)" ( (binary_expression "puVar21 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);" statement_identifier : (expression_statement "uVar10 = (*pcVar22)(iVar8);" (assignment_expression "uVar10 = (*pcVar22)(iVar8)" identifier = (call_expression "(*pcVar22)(iVar8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(iVar8)" ( identifier )))) ;)) (expression_statement "piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);" (assignment_expression "piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0)" identifier = (cast_expression "(int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x765a8))(uVar10,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x765a8))" ( (pointer_expression "**(code **)(puVar21 + 0x765a8)" * (pointer_expression "*(code **)(puVar21 + 0x765a8)" * (cast_expression "(code **)(puVar21 + 0x765a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x765a8)" ( (binary_expression "puVar21 + 0x765a8" identifier + number_literal) ))))) )) (argument_list "(uVar10,0)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }" { (if_statement "if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar11 = piVar20;\n      }" { (expression_statement "piVar11 = piVar20;" (assignment_expression "piVar11 = piVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_000ce130;" goto statement_identifier ;) })) (expression_statement "piVar11 = piVar20;" (assignment_expression "piVar11 = piVar20" identifier = identifier) ;) (if_statement "if (piVar20 != (int *)0x0) goto LAB_000ce130;" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce130;" goto statement_identifier ;)) (labeled_statement "LAB_000ce360:\n    uVar7 = uStack_90;" statement_identifier : (expression_statement "uVar7 = uStack_90;" (assignment_expression "uVar7 = uStack_90" identifier = identifier) ;)) (expression_statement "uVar6 = uStack_94;" (assignment_expression "uVar6 = uStack_94" identifier = identifier) ;) (if_statement "if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" if (parenthesized_expression "(((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0))" ( (binary_expression "((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)" (parenthesized_expression "((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0)" ( (binary_expression "(**(uint **)(puVar21 + 0x76648) & 0x4000) == 0" (parenthesized_expression "(**(uint **)(puVar21 + 0x76648) & 0x4000)" ( (binary_expression "**(uint **)(puVar21 + 0x76648) & 0x4000" (pointer_expression "**(uint **)(puVar21 + 0x76648)" * (pointer_expression "*(uint **)(puVar21 + 0x76648)" * (cast_expression "(uint **)(puVar21 + 0x76648)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76648)" ( (binary_expression "puVar21 + 0x76648" identifier + number_literal) ))))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)" ( (comma_expression "iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0" (assignment_expression "iVar8 = **(int **)(puVar21 + 0x7782c)" identifier = (pointer_expression "**(int **)(puVar21 + 0x7782c)" * (pointer_expression "*(int **)(puVar21 + 0x7782c)" * (cast_expression "(int **)(puVar21 + 0x7782c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x7782c)" ( (binary_expression "puVar21 + 0x7782c" identifier + number_literal) )))))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);" (assignment_expression "uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" identifier = (call_expression "(**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" (parenthesized_expression "(**(code **)(puVar21 + 0x78488))" ( (pointer_expression "**(code **)(puVar21 + 0x78488)" * (pointer_expression "*(code **)(puVar21 + 0x78488)" * (cast_expression "(code **)(puVar21 + 0x78488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x78488)" ( (binary_expression "puVar21 + 0x78488" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" ( number_literal , (binary_expression "*(int *)(puVar21 + 0x7659c) + -22000" (pointer_expression "*(int *)(puVar21 + 0x7659c)" * (cast_expression "(int *)(puVar21 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x7659c)" ( (binary_expression "puVar21 + 0x7659c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) }) (else_clause "else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" else (compound_statement "{\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" { (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }" if (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" ( (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" identifier == number_literal) && (binary_expression "uStack_90 == 0" identifier == number_literal)) )) (compound_statement "{\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }" { (expression_statement "pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);" (assignment_expression "pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830)" identifier = (cast_expression "(char *)**(undefined4 **)(puVar21 + 0x77830)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar21 + 0x77830)" * (pointer_expression "*(undefined4 **)(puVar21 + 0x77830)" * (cast_expression "(undefined4 **)(puVar21 + 0x77830)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77830)" ( (binary_expression "puVar21 + 0x77830" identifier + number_literal) ))))))) ;) (expression_statement "FUN_000cd290(pcVar15,iVar8 + 8);" (call_expression "FUN_000cd290(pcVar15,iVar8 + 8)" identifier (argument_list "(pcVar15,iVar8 + 8)" ( identifier , (binary_expression "iVar8 + 8" identifier + number_literal) ))) ;) (if_statement "if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }" if (parenthesized_expression "(pcStack_8c == (char *)*puVar9)" ( (binary_expression "pcStack_8c == (char *)*puVar9" identifier == (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) )) (compound_statement "{\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }" { (expression_statement "iVar8 = sh_chkwrite(0);" (assignment_expression "iVar8 = sh_chkwrite(0)" identifier = (call_expression "sh_chkwrite(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (return_statement "return iVar8;" return identifier ;) })) (goto_statement "goto LAB_000ce480;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar8,uStack_94,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar8,uVar7,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar21 + 0x776e4))(uVar6,1);" (call_expression "(**(code **)(puVar21 + 0x776e4))(uVar6,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x776e4))" ( (pointer_expression "**(code **)(puVar21 + 0x776e4)" * (pointer_expression "*(code **)(puVar21 + 0x776e4)" * (cast_expression "(code **)(puVar21 + 0x776e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x776e4)" ( (binary_expression "puVar21 + 0x776e4" identifier + number_literal) ))))) )) (argument_list "(uVar6,1)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar21 + 0x776e4))(uVar7,0);" (call_expression "(**(code **)(puVar21 + 0x776e4))(uVar7,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x776e4))" ( (pointer_expression "**(code **)(puVar21 + 0x776e4)" * (pointer_expression "*(code **)(puVar21 + 0x776e4)" * (cast_expression "(code **)(puVar21 + 0x776e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x776e4)" ( (binary_expression "puVar21 + 0x776e4" identifier + number_literal) ))))) )) (argument_list "(uVar7,0)" ( identifier , number_literal ))) ;) }))) }) (else_clause "else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" else (compound_statement "{\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" { (if_statement "if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" identifier = (pointer_expression "*(code **)(puVar21 + 0x76af8)" * (cast_expression "(code **)(puVar21 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76af8)" ( (binary_expression "puVar21 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c" identifier = (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x6a6c" (pointer_expression "*(int *)(puVar21 + 0x76a84)" * (cast_expression "(int *)(puVar21 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76a84)" ( (binary_expression "puVar21 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000ce29c;" goto statement_identifier ;) })) (if_statement "if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" identifier = (pointer_expression "*(code **)(puVar21 + 0x76af8)" * (cast_expression "(code **)(puVar21 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76af8)" ( (binary_expression "puVar21 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88" identifier = (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x6a88" (pointer_expression "*(int *)(puVar21 + 0x76a84)" * (cast_expression "(int *)(puVar21 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76a84)" ( (binary_expression "puVar21 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000ce29c;" goto statement_identifier ;) })) (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000ce360;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce360;" goto statement_identifier ;)) (labeled_statement "LAB_000ce130:\n    iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (expression_statement "iVar14 = *(int *)(puVar21 + 0x7659c);" (assignment_expression "iVar14 = *(int *)(puVar21 + 0x7659c)" identifier = (pointer_expression "*(int *)(puVar21 + 0x7659c)" * (cast_expression "(int *)(puVar21 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x7659c)" ( (binary_expression "puVar21 + 0x7659c" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);" do (compound_statement "{\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    }" { (expression_statement "iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);" (assignment_expression "iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1])" identifier = (call_expression "(**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1])" (parenthesized_expression "(**(code **)(puVar21 + 0x776d8))" ( (pointer_expression "**(code **)(puVar21 + 0x776d8)" * (pointer_expression "*(code **)(puVar21 + 0x776d8)" * (cast_expression "(code **)(puVar21 + 0x776d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x776d8)" ( (binary_expression "puVar21 + 0x776d8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar11[1])" ( (pointer_expression "*(undefined4 *)piVar11[1]" * (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "uVar6 = uStack_90;" (assignment_expression "uVar6 = uStack_90" identifier = identifier) ;) (if_statement "if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }" { (expression_statement "uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);" (assignment_expression "uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5)" identifier = (call_expression "(**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5)" (parenthesized_expression "(**(code **)(puVar21 + 0x78488))" ( (pointer_expression "**(code **)(puVar21 + 0x78488)" * (pointer_expression "*(code **)(puVar21 + 0x78488)" * (cast_expression "(code **)(puVar21 + 0x78488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x78488)" ( (binary_expression "puVar21 + 0x78488" identifier + number_literal) ))))) )) (argument_list "(0,iVar14 + -0x56cc,5)" ( number_literal , (binary_expression "iVar14 + -0x56cc" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "builtin_error(uVar10,*(undefined4 *)piVar11[1]);" (call_expression "builtin_error(uVar10,*(undefined4 *)piVar11[1])" identifier (argument_list "(uVar10,*(undefined4 *)piVar11[1])" ( identifier , (pointer_expression "*(undefined4 *)piVar11[1]" * (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ))) ;) }) (else_clause "else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" else (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" if (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" ( (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" identifier == number_literal) && (binary_expression "uStack_90 == 0" identifier == number_literal)) )) (compound_statement "{\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }" { (expression_statement "FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);" (call_expression "FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8)" identifier (argument_list "(*(undefined4 *)piVar11[1],iVar19 + 8)" ( (pointer_expression "*(undefined4 *)piVar11[1]" * (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) , (binary_expression "iVar19 + 8" identifier + number_literal) ))) ;) }) (else_clause "else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" else (compound_statement "{\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" { (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar19,uStack_94,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar6,0)" ( identifier , identifier , number_literal ))) ;) }))))) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }" { (expression_statement "(**(code **)(puVar21 + 0x765bc))(piVar20);" (call_expression "(**(code **)(puVar21 + 0x765bc))(piVar20)" (parenthesized_expression "(**(code **)(puVar21 + 0x765bc))" ( (pointer_expression "**(code **)(puVar21 + 0x765bc)" * (pointer_expression "*(code **)(puVar21 + 0x765bc)" * (cast_expression "(code **)(puVar21 + 0x765bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x765bc)" ( (binary_expression "puVar21 + 0x765bc" identifier + number_literal) ))))) )) (argument_list "(piVar20)" ( identifier ))) ;) })) }))) (labeled_statement "LAB_000ce240:\n  pcVar15 = pcStack_8c;" statement_identifier : (expression_statement "pcVar15 = pcStack_8c;" (assignment_expression "pcVar15 = pcStack_8c" identifier = identifier) ;)) (if_statement "if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }" if (parenthesized_expression "(pcStack_8c == (char *)*puVar9)" ( (binary_expression "pcStack_8c == (char *)*puVar9" identifier == (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) )) (compound_statement "{\n    return iVar8;\n  }" { (return_statement "return iVar8;" return identifier ;) })) (labeled_statement "LAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();" statement_identifier : (expression_statement "iVar8 = (**(code **)(puVar21 + 0x78478))();" (assignment_expression "iVar8 = (**(code **)(puVar21 + 0x78478))()" identifier = (call_expression "(**(code **)(puVar21 + 0x78478))()" (parenthesized_expression "(**(code **)(puVar21 + 0x78478))" ( (pointer_expression "**(code **)(puVar21 + 0x78478)" * (pointer_expression "*(code **)(puVar21 + 0x78478)" * (cast_expression "(code **)(puVar21 + 0x78478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x78478)" ( (binary_expression "puVar21 + 0x78478" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }" { (expression_statement "cVar18 = *pcVar15;" (assignment_expression "cVar18 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (if_statement "if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *pcVar15 = '\0';\n      return iVar8;\n    }" { (expression_statement "*pcVar15 = '\0';" (assignment_expression "*pcVar15 = '\0'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return iVar8;" return identifier ;) })) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = pcVar15;" (assignment_expression "pcVar4 = pcVar15" identifier = identifier) ;) (do_statement "do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));" do (compound_statement "{\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    }" { (expression_statement "pcVar13 = pcVar4 + 1;" (assignment_expression "pcVar13 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = iVar8;" (assignment_expression "iVar14 = iVar8" identifier = identifier) ;) (expression_statement "iVar19 = iVar8 + 1;" (assignment_expression "iVar19 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }" if (parenthesized_expression "(cVar18 == '\\')" ( (binary_expression "cVar18 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }" { (expression_statement "iVar14 = iVar8 + 1;" (assignment_expression "iVar14 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = iVar8 + 2;" (assignment_expression "iVar19 = iVar8 + 2" identifier = (binary_expression "iVar8 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar8 = iVar19;" (assignment_expression "iVar8 = iVar19" identifier = identifier) ;) (expression_statement "cVar18 = pcVar15[iVar14];" (assignment_expression "cVar18 = pcVar15[iVar14]" identifier = (subscript_expression "pcVar15[iVar14]" identifier [ identifier ])) ;) (expression_statement "*pcVar4 = cVar18;" (assignment_expression "*pcVar4 = cVar18" (pointer_expression "*pcVar4" * identifier) = identifier) ;) }) while (parenthesized_expression "((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'))" ( (binary_expression "(cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0')" (parenthesized_expression "(cVar18 != '\0')" ( (binary_expression "cVar18 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0')" ( (comma_expression "cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'" (assignment_expression "cVar18 = pcVar15[iVar8]" identifier = (subscript_expression "pcVar15[iVar8]" identifier [ identifier ])) , (comma_expression "pcVar4 = pcVar13, cVar18 != '\0'" (assignment_expression "pcVar4 = pcVar13" identifier = identifier) , (binary_expression "cVar18 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')))) ))) )) ;) (expression_statement "*pcVar13 = '\0';" (assignment_expression "*pcVar13 = '\0'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (return_statement "return iVar8;" return identifier ;) })))
(translation_unit "int compgen_builtin(WORD_LIST *list)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char **ppcVar11;\n  ulong *puVar12;\n  int iVar13;\n  char *pcVar14;\n  int iVar15;\n  WORD_LIST *list_00;\n  uint *puVar16;\n  ulong *in_a2;\n  char cVar17;\n  int *piVar18;\n  STRINGLIST *sl;\n  int *unaff_s2;\n  int *piVar19;\n  int *unaff_s3;\n  int unaff_s4;\n  int unaff_s5;\n  int unaff_s6;\n  int unaff_s7;\n  int in_t9;\n  code *pcVar20;\n  undefined4 *unaff_s8;\n  code *pcVar21;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  int *piStack_88;\n  STRINGLIST *pSStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int iStack_78;\n  int iStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 uStack_50;\n  undefined4 uStack_4c;\n  int local_48;\n  ulong *puStack_3c;\n  ulong acts;\n  ulong copts;\n  WORD_LIST *local_2c;\n  \n  local_48 = in_t9 + 0x7ea94;\n  piVar18 = *(int **)(in_t9 + 0x78a30);\n  local_2c = (WORD_LIST *)*piVar18;\n  sl = *(STRINGLIST **)(in_t9 + 0x776a8);\n  if (list == (WORD_LIST *)0x0) {\n    puVar12 = (ulong *)0x0;\n  }\n  else {\n    unaff_s2 = *(int **)(in_t9 + 0x776a8);\n    in_a2 = &acts;\n    unaff_s3 = *(int **)(in_t9 + 0x776a8);\n    unaff_s4 = *(int *)(in_t9 + 0x776a8);\n    unaff_s5 = *(int *)(in_t9 + 0x776a8);\n    unaff_s6 = *(int *)(in_t9 + 0x776a8);\n    unaff_s7 = *(int *)(in_t9 + 0x776a8);\n    copts = 0;\n    acts = 0;\n    sl[-0x88e].list_len = 0;\n    unaff_s2[-0x19a7] = 0;\n    unaff_s3[-0x19a6] = 0;\n    *(undefined4 *)(unaff_s4 + -0x6694) = 0;\n    *(undefined4 *)(unaff_s5 + -0x6690) = 0;\n    *(undefined4 *)(unaff_s6 + -0x668c) = 0;\n    *(undefined4 *)(unaff_s7 + -0x6688) = 0;\n    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);\n    puVar12 = (ulong *)iVar7;\n    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }\n  }\n  if (local_2c == (WORD_LIST *)*piVar18) {\n    return (int)puVar12;\n  }\n  pcVar20 = *(code **)(local_48 + -0x60b8);\n  pcVar21 = compopt_builtin;\n  list_00 = local_2c;\n  (*pcVar20)();\n  puVar8 = *(undefined4 **)(pcVar20 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar8;\n  iVar7 = *(int *)(pcVar20 + 0x7659c);\n  piVar19 = *(int **)(pcVar20 + 0x778e0);\n  piStack_88 = piVar18;\n  pSStack_84 = sl;\n  piStack_80 = unaff_s2;\n  piStack_7c = unaff_s3;\n  iStack_78 = unaff_s4;\n  iStack_74 = unaff_s5;\n  iStack_70 = unaff_s6;\n  iStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar21;\n  reset_internal_getopt();\n  iVar15 = *(int *)(pcVar20 + 0x76558);\nLAB_000ce098:\n  iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n  if (iVar13 != -1) {\n    while( true ) {\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }\n    if (iVar13 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar18 = (int *)**(int **)(pcVar20 + 0x77854);\n  if (bVar1) {\n    pcVar21 = *(code **)(pcVar20 + 0x76af8);\n    iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar21)(iVar7);\n    piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);\n    if (piVar18 != (int *)0x0) {\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }\n    piVar18 = piVar19;\n    if (piVar19 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar6 = uStack_90;\n    uVar5 = uStack_94;\n    if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar19 = (int *)0x0;\n    if (piVar18 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar7 = 0;\n    iVar15 = *(int *)(pcVar20 + 0x7659c);\n    do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);\n    if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }\n  }\nLAB_000ce240:\n  pcVar9 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar8) {\n    return iVar7;\n  }\nLAB_000ce480:\n  iVar7 = (**(code **)(pcVar20 + 0x78478))();\n  if (pcVar9 != (char *)0x0) {\n    cVar17 = *pcVar9;\n    if (cVar17 == '\0') {\n      *pcVar9 = '\0';\n      return iVar7;\n    }\n    iVar7 = 0;\n    pcVar4 = pcVar9;\n    do {\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));\n    *pcVar14 = '\0';\n  }\n  return iVar7;\n}\n\n" (function_definition "int compgen_builtin(WORD_LIST *list)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char **ppcVar11;\n  ulong *puVar12;\n  int iVar13;\n  char *pcVar14;\n  int iVar15;\n  WORD_LIST *list_00;\n  uint *puVar16;\n  ulong *in_a2;\n  char cVar17;\n  int *piVar18;\n  STRINGLIST *sl;\n  int *unaff_s2;\n  int *piVar19;\n  int *unaff_s3;\n  int unaff_s4;\n  int unaff_s5;\n  int unaff_s6;\n  int unaff_s7;\n  int in_t9;\n  code *pcVar20;\n  undefined4 *unaff_s8;\n  code *pcVar21;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  int *piStack_88;\n  STRINGLIST *pSStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int iStack_78;\n  int iStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 uStack_50;\n  undefined4 uStack_4c;\n  int local_48;\n  ulong *puStack_3c;\n  ulong acts;\n  ulong copts;\n  WORD_LIST *local_2c;\n  \n  local_48 = in_t9 + 0x7ea94;\n  piVar18 = *(int **)(in_t9 + 0x78a30);\n  local_2c = (WORD_LIST *)*piVar18;\n  sl = *(STRINGLIST **)(in_t9 + 0x776a8);\n  if (list == (WORD_LIST *)0x0) {\n    puVar12 = (ulong *)0x0;\n  }\n  else {\n    unaff_s2 = *(int **)(in_t9 + 0x776a8);\n    in_a2 = &acts;\n    unaff_s3 = *(int **)(in_t9 + 0x776a8);\n    unaff_s4 = *(int *)(in_t9 + 0x776a8);\n    unaff_s5 = *(int *)(in_t9 + 0x776a8);\n    unaff_s6 = *(int *)(in_t9 + 0x776a8);\n    unaff_s7 = *(int *)(in_t9 + 0x776a8);\n    copts = 0;\n    acts = 0;\n    sl[-0x88e].list_len = 0;\n    unaff_s2[-0x19a7] = 0;\n    unaff_s3[-0x19a6] = 0;\n    *(undefined4 *)(unaff_s4 + -0x6694) = 0;\n    *(undefined4 *)(unaff_s5 + -0x6690) = 0;\n    *(undefined4 *)(unaff_s6 + -0x668c) = 0;\n    *(undefined4 *)(unaff_s7 + -0x6688) = 0;\n    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);\n    puVar12 = (ulong *)iVar7;\n    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }\n  }\n  if (local_2c == (WORD_LIST *)*piVar18) {\n    return (int)puVar12;\n  }\n  pcVar20 = *(code **)(local_48 + -0x60b8);\n  pcVar21 = compopt_builtin;\n  list_00 = local_2c;\n  (*pcVar20)();\n  puVar8 = *(undefined4 **)(pcVar20 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar8;\n  iVar7 = *(int *)(pcVar20 + 0x7659c);\n  piVar19 = *(int **)(pcVar20 + 0x778e0);\n  piStack_88 = piVar18;\n  pSStack_84 = sl;\n  piStack_80 = unaff_s2;\n  piStack_7c = unaff_s3;\n  iStack_78 = unaff_s4;\n  iStack_74 = unaff_s5;\n  iStack_70 = unaff_s6;\n  iStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar21;\n  reset_internal_getopt();\n  iVar15 = *(int *)(pcVar20 + 0x76558);\nLAB_000ce098:\n  iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n  if (iVar13 != -1) {\n    while( true ) {\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }\n    if (iVar13 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar18 = (int *)**(int **)(pcVar20 + 0x77854);\n  if (bVar1) {\n    pcVar21 = *(code **)(pcVar20 + 0x76af8);\n    iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar21)(iVar7);\n    piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);\n    if (piVar18 != (int *)0x0) {\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }\n    piVar18 = piVar19;\n    if (piVar19 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar6 = uStack_90;\n    uVar5 = uStack_94;\n    if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar19 = (int *)0x0;\n    if (piVar18 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar7 = 0;\n    iVar15 = *(int *)(pcVar20 + 0x7659c);\n    do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);\n    if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }\n  }\nLAB_000ce240:\n  pcVar9 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar8) {\n    return iVar7;\n  }\nLAB_000ce480:\n  iVar7 = (**(code **)(pcVar20 + 0x78478))();\n  if (pcVar9 != (char *)0x0) {\n    cVar17 = *pcVar9;\n    if (cVar17 == '\0') {\n      *pcVar9 = '\0';\n      return iVar7;\n    }\n    iVar7 = 0;\n    pcVar4 = pcVar9;\n    do {\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));\n    *pcVar14 = '\0';\n  }\n  return iVar7;\n}" primitive_type (function_declarator "compgen_builtin(WORD_LIST *list)" identifier (parameter_list "(WORD_LIST *list)" ( (parameter_declaration "WORD_LIST *list" type_identifier (pointer_declarator "*list" * identifier)) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  uint uVar5;\n  uint uVar6;\n  int iVar7;\n  undefined4 *puVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  char **ppcVar11;\n  ulong *puVar12;\n  int iVar13;\n  char *pcVar14;\n  int iVar15;\n  WORD_LIST *list_00;\n  uint *puVar16;\n  ulong *in_a2;\n  char cVar17;\n  int *piVar18;\n  STRINGLIST *sl;\n  int *unaff_s2;\n  int *piVar19;\n  int *unaff_s3;\n  int unaff_s4;\n  int unaff_s5;\n  int unaff_s6;\n  int unaff_s7;\n  int in_t9;\n  code *pcVar20;\n  undefined4 *unaff_s8;\n  code *pcVar21;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  int *piStack_88;\n  STRINGLIST *pSStack_84;\n  int *piStack_80;\n  int *piStack_7c;\n  int iStack_78;\n  int iStack_74;\n  int iStack_70;\n  int iStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 uStack_50;\n  undefined4 uStack_4c;\n  int local_48;\n  ulong *puStack_3c;\n  ulong acts;\n  ulong copts;\n  WORD_LIST *local_2c;\n  \n  local_48 = in_t9 + 0x7ea94;\n  piVar18 = *(int **)(in_t9 + 0x78a30);\n  local_2c = (WORD_LIST *)*piVar18;\n  sl = *(STRINGLIST **)(in_t9 + 0x776a8);\n  if (list == (WORD_LIST *)0x0) {\n    puVar12 = (ulong *)0x0;\n  }\n  else {\n    unaff_s2 = *(int **)(in_t9 + 0x776a8);\n    in_a2 = &acts;\n    unaff_s3 = *(int **)(in_t9 + 0x776a8);\n    unaff_s4 = *(int *)(in_t9 + 0x776a8);\n    unaff_s5 = *(int *)(in_t9 + 0x776a8);\n    unaff_s6 = *(int *)(in_t9 + 0x776a8);\n    unaff_s7 = *(int *)(in_t9 + 0x776a8);\n    copts = 0;\n    acts = 0;\n    sl[-0x88e].list_len = 0;\n    unaff_s2[-0x19a7] = 0;\n    unaff_s3[-0x19a6] = 0;\n    *(undefined4 *)(unaff_s4 + -0x6694) = 0;\n    *(undefined4 *)(unaff_s5 + -0x6690) = 0;\n    *(undefined4 *)(unaff_s6 + -0x668c) = 0;\n    *(undefined4 *)(unaff_s7 + -0x6688) = 0;\n    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);\n    puVar12 = (ulong *)iVar7;\n    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }\n  }\n  if (local_2c == (WORD_LIST *)*piVar18) {\n    return (int)puVar12;\n  }\n  pcVar20 = *(code **)(local_48 + -0x60b8);\n  pcVar21 = compopt_builtin;\n  list_00 = local_2c;\n  (*pcVar20)();\n  puVar8 = *(undefined4 **)(pcVar20 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar8;\n  iVar7 = *(int *)(pcVar20 + 0x7659c);\n  piVar19 = *(int **)(pcVar20 + 0x778e0);\n  piStack_88 = piVar18;\n  pSStack_84 = sl;\n  piStack_80 = unaff_s2;\n  piStack_7c = unaff_s3;\n  iStack_78 = unaff_s4;\n  iStack_74 = unaff_s5;\n  iStack_70 = unaff_s6;\n  iStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar21;\n  reset_internal_getopt();\n  iVar15 = *(int *)(pcVar20 + 0x76558);\nLAB_000ce098:\n  iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n  if (iVar13 != -1) {\n    while( true ) {\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }\n    if (iVar13 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar18 = (int *)**(int **)(pcVar20 + 0x77854);\n  if (bVar1) {\n    pcVar21 = *(code **)(pcVar20 + 0x76af8);\n    iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar21)(iVar7);\n    piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);\n    if (piVar18 != (int *)0x0) {\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }\n    piVar18 = piVar19;\n    if (piVar19 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar6 = uStack_90;\n    uVar5 = uStack_94;\n    if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar19 = (int *)0x0;\n    if (piVar18 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar7 = 0;\n    iVar15 = *(int *)(pcVar20 + 0x7659c);\n    do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);\n    if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }\n  }\nLAB_000ce240:\n  pcVar9 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar8) {\n    return iVar7;\n  }\nLAB_000ce480:\n  iVar7 = (**(code **)(pcVar20 + 0x78478))();\n  if (pcVar9 != (char *)0x0) {\n    cVar17 = *pcVar9;\n    if (cVar17 == '\0') {\n      *pcVar9 = '\0';\n      return iVar7;\n    }\n    iVar7 = 0;\n    pcVar4 = pcVar9;\n    do {\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));\n    *pcVar14 = '\0';\n  }\n  return iVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "char **ppcVar11;" primitive_type (pointer_declarator "**ppcVar11" * (pointer_declarator "*ppcVar11" * identifier)) ;) (declaration "ulong *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "char *pcVar14;" primitive_type (pointer_declarator "*pcVar14" * identifier) ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "WORD_LIST *list_00;" type_identifier (pointer_declarator "*list_00" * identifier) ;) (declaration "uint *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "ulong *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "char cVar17;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "STRINGLIST *sl;" type_identifier (pointer_declarator "*sl" * identifier) ;) (declaration "int *unaff_s2;" primitive_type (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "int *unaff_s3;" primitive_type (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "int unaff_s4;" primitive_type identifier ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "int unaff_s6;" primitive_type identifier ;) (declaration "int unaff_s7;" primitive_type identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar20;" type_identifier (pointer_declarator "*pcVar20" * identifier) ;) (declaration "undefined4 *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar21;" type_identifier (pointer_declarator "*pcVar21" * identifier) ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "uint uStack_90;" type_identifier identifier ;) (declaration "char *pcStack_8c;" primitive_type (pointer_declarator "*pcStack_8c" * identifier) ;) (declaration "int *piStack_88;" primitive_type (pointer_declarator "*piStack_88" * identifier) ;) (declaration "STRINGLIST *pSStack_84;" type_identifier (pointer_declarator "*pSStack_84" * identifier) ;) (declaration "int *piStack_80;" primitive_type (pointer_declarator "*piStack_80" * identifier) ;) (declaration "int *piStack_7c;" primitive_type (pointer_declarator "*piStack_7c" * identifier) ;) (declaration "int iStack_78;" primitive_type identifier ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "int iStack_70;" primitive_type identifier ;) (declaration "int iStack_6c;" primitive_type identifier ;) (declaration "undefined4 *puStack_68;" type_identifier (pointer_declarator "*puStack_68" * identifier) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "undefined4 uStack_50;" type_identifier identifier ;) (declaration "undefined4 uStack_4c;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "ulong *puStack_3c;" type_identifier (pointer_declarator "*puStack_3c" * identifier) ;) (declaration "ulong acts;" type_identifier identifier ;) (declaration "ulong copts;" type_identifier identifier ;) (declaration "WORD_LIST *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "local_48 = in_t9 + 0x7ea94;" (assignment_expression "local_48 = in_t9 + 0x7ea94" identifier = (binary_expression "in_t9 + 0x7ea94" identifier + number_literal)) ;) (expression_statement "piVar18 = *(int **)(in_t9 + 0x78a30);" (assignment_expression "piVar18 = *(int **)(in_t9 + 0x78a30)" identifier = (pointer_expression "*(int **)(in_t9 + 0x78a30)" * (cast_expression "(int **)(in_t9 + 0x78a30)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x78a30)" ( (binary_expression "in_t9 + 0x78a30" identifier + number_literal) ))))) ;) (expression_statement "local_2c = (WORD_LIST *)*piVar18;" (assignment_expression "local_2c = (WORD_LIST *)*piVar18" identifier = (cast_expression "(WORD_LIST *)*piVar18" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) ;) (expression_statement "sl = *(STRINGLIST **)(in_t9 + 0x776a8);" (assignment_expression "sl = *(STRINGLIST **)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(STRINGLIST **)(in_t9 + 0x776a8)" * (cast_expression "(STRINGLIST **)(in_t9 + 0x776a8)" ( (type_descriptor "STRINGLIST **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (if_statement "if (list == (WORD_LIST *)0x0) {\n    puVar12 = (ulong *)0x0;\n  }\n  else {\n    unaff_s2 = *(int **)(in_t9 + 0x776a8);\n    in_a2 = &acts;\n    unaff_s3 = *(int **)(in_t9 + 0x776a8);\n    unaff_s4 = *(int *)(in_t9 + 0x776a8);\n    unaff_s5 = *(int *)(in_t9 + 0x776a8);\n    unaff_s6 = *(int *)(in_t9 + 0x776a8);\n    unaff_s7 = *(int *)(in_t9 + 0x776a8);\n    copts = 0;\n    acts = 0;\n    sl[-0x88e].list_len = 0;\n    unaff_s2[-0x19a7] = 0;\n    unaff_s3[-0x19a6] = 0;\n    *(undefined4 *)(unaff_s4 + -0x6694) = 0;\n    *(undefined4 *)(unaff_s5 + -0x6690) = 0;\n    *(undefined4 *)(unaff_s6 + -0x668c) = 0;\n    *(undefined4 *)(unaff_s7 + -0x6688) = 0;\n    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);\n    puVar12 = (ulong *)iVar7;\n    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }\n  }" if (parenthesized_expression "(list == (WORD_LIST *)0x0)" ( (binary_expression "list == (WORD_LIST *)0x0" identifier == (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar12 = (ulong *)0x0;\n  }" { (expression_statement "puVar12 = (ulong *)0x0;" (assignment_expression "puVar12 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    unaff_s2 = *(int **)(in_t9 + 0x776a8);\n    in_a2 = &acts;\n    unaff_s3 = *(int **)(in_t9 + 0x776a8);\n    unaff_s4 = *(int *)(in_t9 + 0x776a8);\n    unaff_s5 = *(int *)(in_t9 + 0x776a8);\n    unaff_s6 = *(int *)(in_t9 + 0x776a8);\n    unaff_s7 = *(int *)(in_t9 + 0x776a8);\n    copts = 0;\n    acts = 0;\n    sl[-0x88e].list_len = 0;\n    unaff_s2[-0x19a7] = 0;\n    unaff_s3[-0x19a6] = 0;\n    *(undefined4 *)(unaff_s4 + -0x6694) = 0;\n    *(undefined4 *)(unaff_s5 + -0x6690) = 0;\n    *(undefined4 *)(unaff_s6 + -0x668c) = 0;\n    *(undefined4 *)(unaff_s7 + -0x6688) = 0;\n    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);\n    puVar12 = (ulong *)iVar7;\n    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }\n  }" else (compound_statement "{\n    unaff_s2 = *(int **)(in_t9 + 0x776a8);\n    in_a2 = &acts;\n    unaff_s3 = *(int **)(in_t9 + 0x776a8);\n    unaff_s4 = *(int *)(in_t9 + 0x776a8);\n    unaff_s5 = *(int *)(in_t9 + 0x776a8);\n    unaff_s6 = *(int *)(in_t9 + 0x776a8);\n    unaff_s7 = *(int *)(in_t9 + 0x776a8);\n    copts = 0;\n    acts = 0;\n    sl[-0x88e].list_len = 0;\n    unaff_s2[-0x19a7] = 0;\n    unaff_s3[-0x19a6] = 0;\n    *(undefined4 *)(unaff_s4 + -0x6694) = 0;\n    *(undefined4 *)(unaff_s5 + -0x6690) = 0;\n    *(undefined4 *)(unaff_s6 + -0x668c) = 0;\n    *(undefined4 *)(unaff_s7 + -0x6688) = 0;\n    iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);\n    puVar12 = (ulong *)iVar7;\n    if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }\n  }" { (expression_statement "unaff_s2 = *(int **)(in_t9 + 0x776a8);" (assignment_expression "unaff_s2 = *(int **)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(int **)(in_t9 + 0x776a8)" * (cast_expression "(int **)(in_t9 + 0x776a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (expression_statement "in_a2 = &acts;" (assignment_expression "in_a2 = &acts" identifier = (pointer_expression "&acts" & identifier)) ;) (expression_statement "unaff_s3 = *(int **)(in_t9 + 0x776a8);" (assignment_expression "unaff_s3 = *(int **)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(int **)(in_t9 + 0x776a8)" * (cast_expression "(int **)(in_t9 + 0x776a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s4 = *(int *)(in_t9 + 0x776a8);" (assignment_expression "unaff_s4 = *(int *)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(int *)(in_t9 + 0x776a8)" * (cast_expression "(int *)(in_t9 + 0x776a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = *(int *)(in_t9 + 0x776a8);" (assignment_expression "unaff_s5 = *(int *)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(int *)(in_t9 + 0x776a8)" * (cast_expression "(int *)(in_t9 + 0x776a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s6 = *(int *)(in_t9 + 0x776a8);" (assignment_expression "unaff_s6 = *(int *)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(int *)(in_t9 + 0x776a8)" * (cast_expression "(int *)(in_t9 + 0x776a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = *(int *)(in_t9 + 0x776a8);" (assignment_expression "unaff_s7 = *(int *)(in_t9 + 0x776a8)" identifier = (pointer_expression "*(int *)(in_t9 + 0x776a8)" * (cast_expression "(int *)(in_t9 + 0x776a8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x776a8)" ( (binary_expression "in_t9 + 0x776a8" identifier + number_literal) ))))) ;) (expression_statement "copts = 0;" (assignment_expression "copts = 0" identifier = number_literal) ;) (expression_statement "acts = 0;" (assignment_expression "acts = 0" identifier = number_literal) ;) (expression_statement "sl[-0x88e].list_len = 0;" (assignment_expression "sl[-0x88e].list_len = 0" (field_expression "sl[-0x88e].list_len" (subscript_expression "sl[-0x88e]" identifier [ number_literal ]) . field_identifier) = number_literal) ;) (expression_statement "unaff_s2[-0x19a7] = 0;" (assignment_expression "unaff_s2[-0x19a7] = 0" (subscript_expression "unaff_s2[-0x19a7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "unaff_s3[-0x19a6] = 0;" (assignment_expression "unaff_s3[-0x19a6] = 0" (subscript_expression "unaff_s3[-0x19a6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s4 + -0x6694) = 0;" (assignment_expression "*(undefined4 *)(unaff_s4 + -0x6694) = 0" (pointer_expression "*(undefined4 *)(unaff_s4 + -0x6694)" * (cast_expression "(undefined4 *)(unaff_s4 + -0x6694)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x6694)" ( (binary_expression "unaff_s4 + -0x6694" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s5 + -0x6690) = 0;" (assignment_expression "*(undefined4 *)(unaff_s5 + -0x6690) = 0" (pointer_expression "*(undefined4 *)(unaff_s5 + -0x6690)" * (cast_expression "(undefined4 *)(unaff_s5 + -0x6690)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + -0x6690)" ( (binary_expression "unaff_s5 + -0x6690" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s6 + -0x668c) = 0;" (assignment_expression "*(undefined4 *)(unaff_s6 + -0x668c) = 0" (pointer_expression "*(undefined4 *)(unaff_s6 + -0x668c)" * (cast_expression "(undefined4 *)(unaff_s6 + -0x668c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + -0x668c)" ( (binary_expression "unaff_s6 + -0x668c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(unaff_s7 + -0x6688) = 0;" (assignment_expression "*(undefined4 *)(unaff_s7 + -0x6688) = 0" (pointer_expression "*(undefined4 *)(unaff_s7 + -0x6688)" * (cast_expression "(undefined4 *)(unaff_s7 + -0x6688)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + -0x6688)" ( (binary_expression "unaff_s7 + -0x6688" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts);" (assignment_expression "iVar7 = build_actions(list,(_optflags *)0x0,in_a2,&copts)" identifier = (call_expression "build_actions(list,(_optflags *)0x0,in_a2,&copts)" identifier (argument_list "(list,(_optflags *)0x0,in_a2,&copts)" ( identifier , (cast_expression "(_optflags *)0x0" ( (type_descriptor "_optflags *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) , identifier , (pointer_expression "&copts" & identifier) )))) ;) (expression_statement "puVar12 = (ulong *)iVar7;" (assignment_expression "puVar12 = (ulong *)iVar7" identifier = (cast_expression "(ulong *)iVar7" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)) {\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }" if (parenthesized_expression "((iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1))" ( (binary_expression "(iVar7 != 0x102) && (puVar12 = (ulong *)0, iVar7 != 1)" (parenthesized_expression "(iVar7 != 0x102)" ( (binary_expression "iVar7 != 0x102" identifier != number_literal) )) && (parenthesized_expression "(puVar12 = (ulong *)0, iVar7 != 1)" ( (comma_expression "puVar12 = (ulong *)0, iVar7 != 1" (assignment_expression "puVar12 = (ulong *)0" identifier = (cast_expression "(ulong *)0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "iVar7 != 1" identifier != number_literal)) ))) )) (compound_statement "{\n      if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }\n      if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }\n      if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }\n      unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();\n      iVar7 = *(int *)(unaff_s7 + -0x6688);\n      unaff_s8[1] = acts;\n      unaff_s8[2] = copts;\n      *unaff_s8 = 1;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }\n      iVar15 = *(int *)(unaff_s6 + -0x668c);\n      unaff_s8[3] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }\n      iVar7 = *(int *)(unaff_s5 + -0x6690);\n      unaff_s8[4] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }\n      iVar15 = *(int *)(unaff_s4 + -0x6694);\n      unaff_s8[5] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }\n      iVar7 = unaff_s2[-0x19a7];\n      unaff_s8[6] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }\n      iVar15 = sl[-0x88e].list_len;\n      unaff_s8[7] = iVar7;\n      if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }\n      iVar7 = unaff_s3[-0x19a6];\n      unaff_s8[8] = iVar15;\n      if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }\n      unaff_s3 = *(int **)(local_48 + -0x6d24);\n      unaff_s2 = *(int **)(local_48 + -0x6d20);\n      iVar15 = *(int *)(local_48 + -0x7f94);\n      pcVar20 = *(code **)(local_48 + -0x6cfc);\n      unaff_s5 = *unaff_s3;\n      unaff_s4 = *unaff_s2;\n      unaff_s8[10] = iVar7;\n      uStack_4c = 0;\n      uStack_50 = 0;\n      *unaff_s3 = 0;\n      *unaff_s2 = 0;\n      in_a2 = puStack_3c;\n      sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);\n      *unaff_s3 = unaff_s5;\n      *unaff_s2 = unaff_s4;\n      if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }\n      puStack_3c = puVar12;\n      (**(code **)(local_48 + -0x6d10))(unaff_s8);\n      puVar12 = puStack_3c;\n    }" { (if_statement "if ((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )) {\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }\n      else {\n        puStack_3c = (ulong *)*puVar8;\n      }" if (parenthesized_expression "((**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         ))" ( (binary_expression "(**(int **)(local_48 + -0x6cdc) == 0) ||\n         (puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )" (parenthesized_expression "(**(int **)(local_48 + -0x6cdc) == 0)" ( (binary_expression "**(int **)(local_48 + -0x6cdc) == 0" (pointer_expression "**(int **)(local_48 + -0x6cdc)" * (pointer_expression "*(int **)(local_48 + -0x6cdc)" * (cast_expression "(int **)(local_48 + -0x6cdc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6cdc)" ( (binary_expression "local_48 + -0x6cdc" identifier + number_literal) ))))) == number_literal) )) || (parenthesized_expression "(puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0\n         )" ( (comma_expression "puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4), puVar8 == (undefined4 *)0x0" (assignment_expression "puVar8 = *(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4)" identifier = (pointer_expression "*(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4)" * (cast_expression "(undefined4 **)(**(int **)(local_48 + -0x6cdc) + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(local_48 + -0x6cdc) + 4)" ( (binary_expression "**(int **)(local_48 + -0x6cdc) + 4" (pointer_expression "**(int **)(local_48 + -0x6cdc)" * (pointer_expression "*(int **)(local_48 + -0x6cdc)" * (cast_expression "(int **)(local_48 + -0x6cdc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6cdc)" ( (binary_expression "local_48 + -0x6cdc" identifier + number_literal) ))))) + number_literal) ))))) , (binary_expression "puVar8 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);\n      }" { (expression_statement "puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800);" (assignment_expression "puStack_3c = (ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800)" identifier = (cast_expression "(ulong *)(*(int *)(local_48 + -0x7f94) + -0x6800)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(local_48 + -0x7f94) + -0x6800)" ( (binary_expression "*(int *)(local_48 + -0x7f94) + -0x6800" (pointer_expression "*(int *)(local_48 + -0x7f94)" * (cast_expression "(int *)(local_48 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + -0x7f94)" ( (binary_expression "local_48 + -0x7f94" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n        puStack_3c = (ulong *)*puVar8;\n      }" else (compound_statement "{\n        puStack_3c = (ulong *)*puVar8;\n      }" { (expression_statement "puStack_3c = (ulong *)*puVar8;" (assignment_expression "puStack_3c = (ulong *)*puVar8" identifier = (cast_expression "(ulong *)*puVar8" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) }))) (if_statement "if (unaff_s2[-0x19a7] != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }" if (parenthesized_expression "(unaff_s2[-0x19a7] != 0)" ( (binary_expression "unaff_s2[-0x19a7] != 0" (subscript_expression "unaff_s2[-0x19a7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);\n        builtin_error(pcVar9);\n      }" { (expression_statement "pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5);" (assignment_expression "pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5)" identifier = (cast_expression "(char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5658,5)" (parenthesized_expression "(**(code **)(local_48 + -0x60a8))" ( (pointer_expression "**(code **)(local_48 + -0x60a8)" * (pointer_expression "*(code **)(local_48 + -0x60a8)" * (cast_expression "(code **)(local_48 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x60a8)" ( (binary_expression "local_48 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(local_48 + -0x7f94) + -0x5658,5)" ( number_literal , (binary_expression "*(int *)(local_48 + -0x7f94) + -0x5658" (pointer_expression "*(int *)(local_48 + -0x7f94)" * (cast_expression "(int *)(local_48 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + -0x7f94)" ( (binary_expression "local_48 + -0x7f94" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "builtin_error(pcVar9);" (call_expression "builtin_error(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) })) (if_statement "if (sl[-0x88e].list_len != 0) {\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }" if (parenthesized_expression "(sl[-0x88e].list_len != 0)" ( (binary_expression "sl[-0x88e].list_len != 0" (field_expression "sl[-0x88e].list_len" (subscript_expression "sl[-0x88e]" identifier [ number_literal ]) . field_identifier) != number_literal) )) (compound_statement "{\n        pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);\n        builtin_error(pcVar9);\n      }" { (expression_statement "pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5);" (assignment_expression "pcVar9 = (char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5)" identifier = (cast_expression "(char *)(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_48 + -0x60a8))\n                                   (0,*(int *)(local_48 + -0x7f94) + -0x5628,5)" (parenthesized_expression "(**(code **)(local_48 + -0x60a8))" ( (pointer_expression "**(code **)(local_48 + -0x60a8)" * (pointer_expression "*(code **)(local_48 + -0x60a8)" * (cast_expression "(code **)(local_48 + -0x60a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x60a8)" ( (binary_expression "local_48 + -0x60a8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(local_48 + -0x7f94) + -0x5628,5)" ( number_literal , (binary_expression "*(int *)(local_48 + -0x7f94) + -0x5628" (pointer_expression "*(int *)(local_48 + -0x7f94)" * (cast_expression "(int *)(local_48 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + -0x7f94)" ( (binary_expression "local_48 + -0x7f94" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "builtin_error(pcVar9);" (call_expression "builtin_error(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) })) (expression_statement "unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))();" (assignment_expression "unaff_s8 = (undefined4 *)(**(code **)(local_48 + -0x6d18))()" identifier = (cast_expression "(undefined4 *)(**(code **)(local_48 + -0x6d18))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_48 + -0x6d18))()" (parenthesized_expression "(**(code **)(local_48 + -0x6d18))" ( (pointer_expression "**(code **)(local_48 + -0x6d18)" * (pointer_expression "*(code **)(local_48 + -0x6d18)" * (cast_expression "(code **)(local_48 + -0x6d18)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6d18)" ( (binary_expression "local_48 + -0x6d18" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar7 = *(int *)(unaff_s7 + -0x6688);" (assignment_expression "iVar7 = *(int *)(unaff_s7 + -0x6688)" identifier = (pointer_expression "*(int *)(unaff_s7 + -0x6688)" * (cast_expression "(int *)(unaff_s7 + -0x6688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + -0x6688)" ( (binary_expression "unaff_s7 + -0x6688" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[1] = acts;" (assignment_expression "unaff_s8[1] = acts" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s8[2] = copts;" (assignment_expression "unaff_s8[2] = copts" (subscript_expression "unaff_s8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s8 = 1;" (assignment_expression "*unaff_s8 = 1" (pointer_expression "*unaff_s8" * identifier) = number_literal) ;) (if_statement "if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7)" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))(iVar7)" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688));" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688))" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s7 + -0x6688))" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,*(undefined4 *)(unaff_s7 + -0x6688))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s7 + -0x6688)" * (cast_expression "(undefined4 *)(unaff_s7 + -0x6688)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + -0x6688)" ( (binary_expression "unaff_s7 + -0x6688" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar15 = *(int *)(unaff_s6 + -0x668c);" (assignment_expression "iVar15 = *(int *)(unaff_s6 + -0x668c)" identifier = (pointer_expression "*(int *)(unaff_s6 + -0x668c)" * (cast_expression "(int *)(unaff_s6 + -0x668c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + -0x668c)" ( (binary_expression "unaff_s6 + -0x668c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[3] = iVar7;" (assignment_expression "unaff_s8[3] = iVar7" (subscript_expression "unaff_s8[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))();" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))()" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))()" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c));" (assignment_expression "iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c))" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s6 + -0x668c))" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,*(undefined4 *)(unaff_s6 + -0x668c))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s6 + -0x668c)" * (cast_expression "(undefined4 *)(unaff_s6 + -0x668c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + -0x668c)" ( (binary_expression "unaff_s6 + -0x668c" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar7 = *(int *)(unaff_s5 + -0x6690);" (assignment_expression "iVar7 = *(int *)(unaff_s5 + -0x6690)" identifier = (pointer_expression "*(int *)(unaff_s5 + -0x6690)" * (cast_expression "(int *)(unaff_s5 + -0x6690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + -0x6690)" ( (binary_expression "unaff_s5 + -0x6690" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[4] = iVar15;" (assignment_expression "unaff_s8[4] = iVar15" (subscript_expression "unaff_s8[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7)" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))(iVar7)" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690));" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690))" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s5 + -0x6690))" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,*(undefined4 *)(unaff_s5 + -0x6690))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s5 + -0x6690)" * (cast_expression "(undefined4 *)(unaff_s5 + -0x6690)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s5 + -0x6690)" ( (binary_expression "unaff_s5 + -0x6690" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar15 = *(int *)(unaff_s4 + -0x6694);" (assignment_expression "iVar15 = *(int *)(unaff_s4 + -0x6694)" identifier = (pointer_expression "*(int *)(unaff_s4 + -0x6694)" * (cast_expression "(int *)(unaff_s4 + -0x6694)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x6694)" ( (binary_expression "unaff_s4 + -0x6694" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[5] = iVar7;" (assignment_expression "unaff_s8[5] = iVar7" (subscript_expression "unaff_s8[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))();" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))()" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))()" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694));" (assignment_expression "iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694))" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,*(undefined4 *)(unaff_s4 + -0x6694))" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,*(undefined4 *)(unaff_s4 + -0x6694))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + -0x6694)" * (cast_expression "(undefined4 *)(unaff_s4 + -0x6694)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x6694)" ( (binary_expression "unaff_s4 + -0x6694" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar7 = unaff_s2[-0x19a7];" (assignment_expression "iVar7 = unaff_s2[-0x19a7]" identifier = (subscript_expression "unaff_s2[-0x19a7]" identifier [ number_literal ])) ;) (expression_statement "unaff_s8[6] = iVar15;" (assignment_expression "unaff_s8[6] = iVar15" (subscript_expression "unaff_s8[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7)" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))(iVar7)" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7]);" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7])" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,unaff_s2[-0x19a7])" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,unaff_s2[-0x19a7])" ( identifier , (subscript_expression "unaff_s2[-0x19a7]" identifier [ number_literal ]) )))) ;) })) (expression_statement "iVar15 = sl[-0x88e].list_len;" (assignment_expression "iVar15 = sl[-0x88e].list_len" identifier = (field_expression "sl[-0x88e].list_len" (subscript_expression "sl[-0x88e]" identifier [ number_literal ]) . field_identifier)) ;) (expression_statement "unaff_s8[7] = iVar7;" (assignment_expression "unaff_s8[7] = iVar7" (subscript_expression "unaff_s8[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar15 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }" if (parenthesized_expression "(iVar15 != 0)" ( (binary_expression "iVar15 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))();\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))();" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))()" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))()" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len);" (assignment_expression "iVar15 = (**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len)" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,sl[-0x88e].list_len)" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,sl[-0x88e].list_len)" ( identifier , (field_expression "sl[-0x88e].list_len" (subscript_expression "sl[-0x88e]" identifier [ number_literal ]) . field_identifier) )))) ;) })) (expression_statement "iVar7 = unaff_s3[-0x19a6];" (assignment_expression "iVar7 = unaff_s3[-0x19a6]" identifier = (subscript_expression "unaff_s3[-0x19a6]" identifier [ number_literal ])) ;) (expression_statement "unaff_s8[8] = iVar15;" (assignment_expression "unaff_s8[8] = iVar15" (subscript_expression "unaff_s8[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar7 != 0) {\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);\n        uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);\n        iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);\n      }" { (expression_statement "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7);" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x61b0))(iVar7)" identifier = (call_expression "(**(code **)(local_48 + -0x61b0))(iVar7)" (parenthesized_expression "(**(code **)(local_48 + -0x61b0))" ( (pointer_expression "**(code **)(local_48 + -0x61b0)" * (pointer_expression "*(code **)(local_48 + -0x61b0)" * (cast_expression "(code **)(local_48 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x61b0)" ( (binary_expression "local_48 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1);" (assignment_expression "uVar10 = (**(code **)(local_48 + -0x7f90))(iVar7 + 1)" identifier = (call_expression "(**(code **)(local_48 + -0x7f90))(iVar7 + 1)" (parenthesized_expression "(**(code **)(local_48 + -0x7f90))" ( (pointer_expression "**(code **)(local_48 + -0x7f90)" * (pointer_expression "*(code **)(local_48 + -0x7f90)" * (cast_expression "(code **)(local_48 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x7f90)" ( (binary_expression "local_48 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6]);" (assignment_expression "iVar7 = (**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6])" identifier = (call_expression "(**(code **)(local_48 + -0x6128))(uVar10,unaff_s3[-0x19a6])" (parenthesized_expression "(**(code **)(local_48 + -0x6128))" ( (pointer_expression "**(code **)(local_48 + -0x6128)" * (pointer_expression "*(code **)(local_48 + -0x6128)" * (cast_expression "(code **)(local_48 + -0x6128)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6128)" ( (binary_expression "local_48 + -0x6128" identifier + number_literal) ))))) )) (argument_list "(uVar10,unaff_s3[-0x19a6])" ( identifier , (subscript_expression "unaff_s3[-0x19a6]" identifier [ number_literal ]) )))) ;) })) (expression_statement "unaff_s3 = *(int **)(local_48 + -0x6d24);" (assignment_expression "unaff_s3 = *(int **)(local_48 + -0x6d24)" identifier = (pointer_expression "*(int **)(local_48 + -0x6d24)" * (cast_expression "(int **)(local_48 + -0x6d24)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6d24)" ( (binary_expression "local_48 + -0x6d24" identifier + number_literal) ))))) ;) (expression_statement "unaff_s2 = *(int **)(local_48 + -0x6d20);" (assignment_expression "unaff_s2 = *(int **)(local_48 + -0x6d20)" identifier = (pointer_expression "*(int **)(local_48 + -0x6d20)" * (cast_expression "(int **)(local_48 + -0x6d20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6d20)" ( (binary_expression "local_48 + -0x6d20" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(local_48 + -0x7f94);" (assignment_expression "iVar15 = *(int *)(local_48 + -0x7f94)" identifier = (pointer_expression "*(int *)(local_48 + -0x7f94)" * (cast_expression "(int *)(local_48 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + -0x7f94)" ( (binary_expression "local_48 + -0x7f94" identifier + number_literal) ))))) ;) (expression_statement "pcVar20 = *(code **)(local_48 + -0x6cfc);" (assignment_expression "pcVar20 = *(code **)(local_48 + -0x6cfc)" identifier = (pointer_expression "*(code **)(local_48 + -0x6cfc)" * (cast_expression "(code **)(local_48 + -0x6cfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6cfc)" ( (binary_expression "local_48 + -0x6cfc" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = *unaff_s3;" (assignment_expression "unaff_s5 = *unaff_s3" identifier = (pointer_expression "*unaff_s3" * identifier)) ;) (expression_statement "unaff_s4 = *unaff_s2;" (assignment_expression "unaff_s4 = *unaff_s2" identifier = (pointer_expression "*unaff_s2" * identifier)) ;) (expression_statement "unaff_s8[10] = iVar7;" (assignment_expression "unaff_s8[10] = iVar7" (subscript_expression "unaff_s8[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uStack_4c = 0;" (assignment_expression "uStack_4c = 0" identifier = number_literal) ;) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "*unaff_s3 = 0;" (assignment_expression "*unaff_s3 = 0" (pointer_expression "*unaff_s3" * identifier) = number_literal) ;) (expression_statement "*unaff_s2 = 0;" (assignment_expression "*unaff_s2 = 0" (pointer_expression "*unaff_s2" * identifier) = number_literal) ;) (expression_statement "in_a2 = puStack_3c;" (assignment_expression "in_a2 = puStack_3c" identifier = identifier) ;) (expression_statement "sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0);" (assignment_expression "sl = (STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0)" identifier = (cast_expression "(STRINGLIST *)(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0)" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar20)(unaff_s8,iVar15 + -0x74e8,puStack_3c,0)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(unaff_s8,iVar15 + -0x74e8,puStack_3c,0)" ( identifier , (binary_expression "iVar15 + -0x74e8" identifier + number_literal) , identifier , number_literal ))))) ;) (expression_statement "*unaff_s3 = unaff_s5;" (assignment_expression "*unaff_s3 = unaff_s5" (pointer_expression "*unaff_s3" * identifier) = identifier) ;) (expression_statement "*unaff_s2 = unaff_s4;" (assignment_expression "*unaff_s2 = unaff_s4" (pointer_expression "*unaff_s2" * identifier) = identifier) ;) (if_statement "if (sl == (STRINGLIST *)0x0) {\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }\n      else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }" if (parenthesized_expression "(sl == (STRINGLIST *)0x0)" ( (binary_expression "sl == (STRINGLIST *)0x0" identifier == (cast_expression "(STRINGLIST *)0x0" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar20 = *(code **)(local_48 + -0x6e54);\n        if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        puVar12 = (ulong *)0x1;\n        if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }\n      }" { (expression_statement "pcVar20 = *(code **)(local_48 + -0x6e54);" (assignment_expression "pcVar20 = *(code **)(local_48 + -0x6e54)" identifier = (pointer_expression "*(code **)(local_48 + -0x6e54)" * (cast_expression "(code **)(local_48 + -0x6e54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6e54)" ( (binary_expression "local_48 + -0x6e54" identifier + number_literal) ))))) ;) (if_statement "if ((copts & 0x40) != 0) {\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" if (parenthesized_expression "((copts & 0x40) != 0)" ( (binary_expression "(copts & 0x40) != 0" (parenthesized_expression "(copts & 0x40)" ( (binary_expression "copts & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000cdfa0:\n          in_a2 = (ulong *)0x0;\n          uStack_50 = 0;\n          ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" { (labeled_statement "LAB_000cdfa0:\n          in_a2 = (ulong *)0x0;" statement_identifier : (expression_statement "in_a2 = (ulong *)0x0;" (assignment_expression "in_a2 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "uStack_50 = 0;" (assignment_expression "uStack_50 = 0" identifier = number_literal) ;) (expression_statement "ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0);" (assignment_expression "ppcVar11 = (char **)(*pcVar20)(puStack_3c,0,0,0)" identifier = (cast_expression "(char **)(*pcVar20)(puStack_3c,0,0,0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*pcVar20)(puStack_3c,0,0,0)" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "(puStack_3c,0,0,0)" ( identifier , number_literal , number_literal , number_literal ))))) ;) (expression_statement "sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);" (assignment_expression "sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11)" identifier = (cast_expression "(STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11)" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_48 + -0x6d40))(ppcVar11)" (parenthesized_expression "(**(code **)(local_48 + -0x6d40))" ( (pointer_expression "**(code **)(local_48 + -0x6d40)" * (pointer_expression "*(code **)(local_48 + -0x6d40)" * (cast_expression "(code **)(local_48 + -0x6d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6d40)" ( (binary_expression "local_48 + -0x6d40" identifier + number_literal) ))))) )) (argument_list "(ppcVar11)" ( identifier ))))) ;) (expression_statement "strvec_dispose(ppcVar11);" (call_expression "strvec_dispose(ppcVar11)" identifier (argument_list "(ppcVar11)" ( identifier ))) ;) (if_statement "if (sl != (STRINGLIST *)0x0) {\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" if (parenthesized_expression "(sl != (STRINGLIST *)0x0)" ( (binary_expression "sl != (STRINGLIST *)0x0" identifier != (cast_expression "(STRINGLIST *)0x0" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (sl->list_len != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" { (if_statement "if (sl->list_len != 0) goto LAB_000cdee4;" if (parenthesized_expression "(sl->list_len != 0)" ( (binary_expression "sl->list_len != 0" (field_expression "sl->list_len" identifier -> field_identifier) != number_literal) )) (goto_statement "goto LAB_000cdee4;" goto statement_identifier ;)) (goto_statement "goto LAB_000cde58;" goto statement_identifier ;) })) })) (expression_statement "puVar12 = (ulong *)0x1;" (assignment_expression "puVar12 = (ulong *)0x1" identifier = (cast_expression "(ulong *)0x1" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((copts & 2) != 0) {\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }" if (parenthesized_expression "((copts & 2) != 0)" ( (binary_expression "(copts & 2) != 0" (parenthesized_expression "(copts & 2)" ( (binary_expression "copts & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          sl = (STRINGLIST *)0x0;\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\nLAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);\n          strlist_dispose(sl);\n          sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);\n          strvec_dispose(ppcVar11);\n          if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          puVar12 = (ulong *)0x1;\n        }" { (expression_statement "sl = (STRINGLIST *)0x0;" (assignment_expression "sl = (STRINGLIST *)0x0" identifier = (cast_expression "(STRINGLIST *)0x0" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uVar10 = *(undefined4 *)(local_48 + -0x70c0);" (assignment_expression "uVar10 = *(undefined4 *)(local_48 + -0x70c0)" identifier = (pointer_expression "*(undefined4 *)(local_48 + -0x70c0)" * (cast_expression "(undefined4 *)(local_48 + -0x70c0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + -0x70c0)" ( (binary_expression "local_48 + -0x70c0" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000cdf2c:\n          ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);" statement_identifier : (expression_statement "ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10);" (assignment_expression "ppcVar11 = (char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10)" identifier = (cast_expression "(char **)(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(local_48 + -0x6fbc))(puStack_3c,uVar10)" (parenthesized_expression "(**(code **)(local_48 + -0x6fbc))" ( (pointer_expression "**(code **)(local_48 + -0x6fbc)" * (pointer_expression "*(code **)(local_48 + -0x6fbc)" * (cast_expression "(code **)(local_48 + -0x6fbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6fbc)" ( (binary_expression "local_48 + -0x6fbc" identifier + number_literal) ))))) )) (argument_list "(puStack_3c,uVar10)" ( identifier , identifier ))))) ;)) (expression_statement "strlist_dispose(sl);" (call_expression "strlist_dispose(sl)" identifier (argument_list "(sl)" ( identifier ))) ;) (expression_statement "sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11);" (assignment_expression "sl = (STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11)" identifier = (cast_expression "(STRINGLIST *)(**(code **)(local_48 + -0x6d40))(ppcVar11)" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(local_48 + -0x6d40))(ppcVar11)" (parenthesized_expression "(**(code **)(local_48 + -0x6d40))" ( (pointer_expression "**(code **)(local_48 + -0x6d40)" * (pointer_expression "*(code **)(local_48 + -0x6d40)" * (cast_expression "(code **)(local_48 + -0x6d40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6d40)" ( (binary_expression "local_48 + -0x6d40" identifier + number_literal) ))))) )) (argument_list "(ppcVar11)" ( identifier ))))) ;) (expression_statement "strvec_dispose(ppcVar11);" (call_expression "strvec_dispose(ppcVar11)" identifier (argument_list "(ppcVar11)" ( identifier ))) ;) (if_statement "if (sl != (STRINGLIST *)0x0) {\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" if (parenthesized_expression "(sl != (STRINGLIST *)0x0)" ( (binary_expression "sl != (STRINGLIST *)0x0" identifier != (cast_expression "(STRINGLIST *)0x0" ( (type_descriptor "STRINGLIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar7 = 1;\n            if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (if_statement "if ((sl->list != (char **)0x0) && (sl->list_len != 0)) goto LAB_000cdef0;" if (parenthesized_expression "((sl->list != (char **)0x0) && (sl->list_len != 0))" ( (binary_expression "(sl->list != (char **)0x0) && (sl->list_len != 0)" (parenthesized_expression "(sl->list != (char **)0x0)" ( (binary_expression "sl->list != (char **)0x0" (field_expression "sl->list" identifier -> field_identifier) != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) && (parenthesized_expression "(sl->list_len != 0)" ( (binary_expression "sl->list_len != 0" (field_expression "sl->list_len" identifier -> field_identifier) != number_literal) ))) )) (goto_statement "goto LAB_000cdef0;" goto statement_identifier ;)) (goto_statement "goto LAB_000cde64;" goto statement_identifier ;) })) (expression_statement "puVar12 = (ulong *)0x1;" (assignment_expression "puVar12 = (ulong *)0x1" identifier = (cast_expression "(ulong *)0x1" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }" else (compound_statement "{\n        if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar7 = 1;\nLAB_000cde64:\n        puStack_3c = (ulong *)iVar7;\n        strlist_dispose(sl);\n        puVar12 = puStack_3c;\n      }" { (if_statement "if (sl->list_len == 0) {\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }" if (parenthesized_expression "(sl->list_len == 0)" ( (binary_expression "sl->list_len == 0" (field_expression "sl->list_len" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n          pcVar20 = *(code **)(local_48 + -0x6e54);\n          if ((copts & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);\n          if ((copts & 2) != 0) goto LAB_000cdf2c;\n        }" { (expression_statement "pcVar20 = *(code **)(local_48 + -0x6e54);" (assignment_expression "pcVar20 = *(code **)(local_48 + -0x6e54)" identifier = (pointer_expression "*(code **)(local_48 + -0x6e54)" * (cast_expression "(code **)(local_48 + -0x6e54)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6e54)" ( (binary_expression "local_48 + -0x6e54" identifier + number_literal) ))))) ;) (if_statement "if ((copts & 0x40) != 0) goto LAB_000cdfa0;" if (parenthesized_expression "((copts & 0x40) != 0)" ( (binary_expression "(copts & 0x40) != 0" (parenthesized_expression "(copts & 0x40)" ( (binary_expression "copts & 0x40" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cdfa0;" goto statement_identifier ;)) (labeled_statement "LAB_000cde58:\n          uVar10 = *(undefined4 *)(local_48 + -0x70c0);" statement_identifier : (expression_statement "uVar10 = *(undefined4 *)(local_48 + -0x70c0);" (assignment_expression "uVar10 = *(undefined4 *)(local_48 + -0x70c0)" identifier = (pointer_expression "*(undefined4 *)(local_48 + -0x70c0)" * (cast_expression "(undefined4 *)(local_48 + -0x70c0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_48 + -0x70c0)" ( (binary_expression "local_48 + -0x70c0" identifier + number_literal) ))))) ;)) (if_statement "if ((copts & 2) != 0) goto LAB_000cdf2c;" if (parenthesized_expression "((copts & 2) != 0)" ( (binary_expression "(copts & 2) != 0" (parenthesized_expression "(copts & 2)" ( (binary_expression "copts & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cdf2c;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }" else (compound_statement "{\nLAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }\n        }" { (labeled_statement "LAB_000cdee4:\n          if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }" statement_identifier : (if_statement "if (sl->list != (char **)0x0) {\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }" if (parenthesized_expression "(sl->list != (char **)0x0)" ( (binary_expression "sl->list != (char **)0x0" (field_expression "sl->list" identifier -> field_identifier) != (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000cdef0:\n            strlist_print(sl,(char *)0x0);\n            iVar7 = 0;\n            goto LAB_000cde64;\n          }" { (labeled_statement "LAB_000cdef0:\n            strlist_print(sl,(char *)0x0);" statement_identifier : (expression_statement "strlist_print(sl,(char *)0x0);" (call_expression "strlist_print(sl,(char *)0x0)" identifier (argument_list "(sl,(char *)0x0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;)) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000cde64;" goto statement_identifier ;) }))) }))) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000cde64:\n        puStack_3c = (ulong *)iVar7;" statement_identifier : (expression_statement "puStack_3c = (ulong *)iVar7;" (assignment_expression "puStack_3c = (ulong *)iVar7" identifier = (cast_expression "(ulong *)iVar7" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "strlist_dispose(sl);" (call_expression "strlist_dispose(sl)" identifier (argument_list "(sl)" ( identifier ))) ;) (expression_statement "puVar12 = puStack_3c;" (assignment_expression "puVar12 = puStack_3c" identifier = identifier) ;) }))) (expression_statement "puStack_3c = puVar12;" (assignment_expression "puStack_3c = puVar12" identifier = identifier) ;) (expression_statement "(**(code **)(local_48 + -0x6d10))(unaff_s8);" (call_expression "(**(code **)(local_48 + -0x6d10))(unaff_s8)" (parenthesized_expression "(**(code **)(local_48 + -0x6d10))" ( (pointer_expression "**(code **)(local_48 + -0x6d10)" * (pointer_expression "*(code **)(local_48 + -0x6d10)" * (cast_expression "(code **)(local_48 + -0x6d10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x6d10)" ( (binary_expression "local_48 + -0x6d10" identifier + number_literal) ))))) )) (argument_list "(unaff_s8)" ( identifier ))) ;) (expression_statement "puVar12 = puStack_3c;" (assignment_expression "puVar12 = puStack_3c" identifier = identifier) ;) })) }))) (if_statement "if (local_2c == (WORD_LIST *)*piVar18) {\n    return (int)puVar12;\n  }" if (parenthesized_expression "(local_2c == (WORD_LIST *)*piVar18)" ( (binary_expression "local_2c == (WORD_LIST *)*piVar18" identifier == (cast_expression "(WORD_LIST *)*piVar18" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) )) (compound_statement "{\n    return (int)puVar12;\n  }" { (return_statement "return (int)puVar12;" return (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "pcVar20 = *(code **)(local_48 + -0x60b8);" (assignment_expression "pcVar20 = *(code **)(local_48 + -0x60b8)" identifier = (pointer_expression "*(code **)(local_48 + -0x60b8)" * (cast_expression "(code **)(local_48 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(local_48 + -0x60b8)" ( (binary_expression "local_48 + -0x60b8" identifier + number_literal) ))))) ;) (expression_statement "pcVar21 = compopt_builtin;" (assignment_expression "pcVar21 = compopt_builtin" identifier = identifier) ;) (expression_statement "list_00 = local_2c;" (assignment_expression "list_00 = local_2c" identifier = identifier) ;) (expression_statement "(*pcVar20)();" (call_expression "(*pcVar20)()" (parenthesized_expression "(*pcVar20)" ( (pointer_expression "*pcVar20" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar8 = *(undefined4 **)(pcVar20 + 0x784cc);" (assignment_expression "puVar8 = *(undefined4 **)(pcVar20 + 0x784cc)" identifier = (pointer_expression "*(undefined4 **)(pcVar20 + 0x784cc)" * (cast_expression "(undefined4 **)(pcVar20 + 0x784cc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x784cc)" ( (binary_expression "pcVar20 + 0x784cc" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" identifier = number_literal) ;) (expression_statement "uStack_94 = 0;" (assignment_expression "uStack_94 = 0" identifier = number_literal) ;) (expression_statement "pcStack_8c = (char *)*puVar8;" (assignment_expression "pcStack_8c = (char *)*puVar8" identifier = (cast_expression "(char *)*puVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "iVar7 = *(int *)(pcVar20 + 0x7659c);" (assignment_expression "iVar7 = *(int *)(pcVar20 + 0x7659c)" identifier = (pointer_expression "*(int *)(pcVar20 + 0x7659c)" * (cast_expression "(int *)(pcVar20 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x7659c)" ( (binary_expression "pcVar20 + 0x7659c" identifier + number_literal) ))))) ;) (expression_statement "piVar19 = *(int **)(pcVar20 + 0x778e0);" (assignment_expression "piVar19 = *(int **)(pcVar20 + 0x778e0)" identifier = (pointer_expression "*(int **)(pcVar20 + 0x778e0)" * (cast_expression "(int **)(pcVar20 + 0x778e0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x778e0)" ( (binary_expression "pcVar20 + 0x778e0" identifier + number_literal) ))))) ;) (expression_statement "piStack_88 = piVar18;" (assignment_expression "piStack_88 = piVar18" identifier = identifier) ;) (expression_statement "pSStack_84 = sl;" (assignment_expression "pSStack_84 = sl" identifier = identifier) ;) (expression_statement "piStack_80 = unaff_s2;" (assignment_expression "piStack_80 = unaff_s2" identifier = identifier) ;) (expression_statement "piStack_7c = unaff_s3;" (assignment_expression "piStack_7c = unaff_s3" identifier = identifier) ;) (expression_statement "iStack_78 = unaff_s4;" (assignment_expression "iStack_78 = unaff_s4" identifier = identifier) ;) (expression_statement "iStack_74 = unaff_s5;" (assignment_expression "iStack_74 = unaff_s5" identifier = identifier) ;) (expression_statement "iStack_70 = unaff_s6;" (assignment_expression "iStack_70 = unaff_s6" identifier = identifier) ;) (expression_statement "iStack_6c = unaff_s7;" (assignment_expression "iStack_6c = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_68 = unaff_s8;" (assignment_expression "puStack_68 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar21;" (assignment_expression "pcStack_64 = pcVar21" identifier = identifier) ;) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar15 = *(int *)(pcVar20 + 0x76558);" (assignment_expression "iVar15 = *(int *)(pcVar20 + 0x76558)" identifier = (pointer_expression "*(int *)(pcVar20 + 0x76558)" * (cast_expression "(int *)(pcVar20 + 0x76558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x76558)" ( (binary_expression "pcVar20 + 0x76558" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ce098:\n  iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));" statement_identifier : (expression_statement "iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));" (assignment_expression "iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8))" identifier = (call_expression "internal_getopt(list_00,(char *)(iVar7 + -0x55f8))" identifier (argument_list "(list_00,(char *)(iVar7 + -0x55f8))" ( identifier , (cast_expression "(char *)(iVar7 + -0x55f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x55f8)" ( (binary_expression "iVar7 + -0x55f8" identifier + number_literal) ))) )))) ;)) (if_statement "if (iVar13 != -1) {\n    while( true ) {\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }\n    if (iVar13 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" if (parenthesized_expression "(iVar13 != -1)" ( (binary_expression "iVar13 != -1" identifier != number_literal) )) (compound_statement "{\n    while( true ) {\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }\n    if (iVar13 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" { (while_statement "while( true ) {\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }\n      if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar13) break;\n      if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar13 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));\n      if (iVar13 == -1) goto LAB_000ce108;\n    }" { (if_statement "if (*piVar19 == 0x2d) {\n        puVar16 = &uStack_94;\n      }\n      else {\n        puVar16 = &uStack_90;\n      }" if (parenthesized_expression "(*piVar19 == 0x2d)" ( (binary_expression "*piVar19 == 0x2d" (pointer_expression "*piVar19" * identifier) == number_literal) )) (compound_statement "{\n        puVar16 = &uStack_94;\n      }" { (expression_statement "puVar16 = &uStack_94;" (assignment_expression "puVar16 = &uStack_94" identifier = (pointer_expression "&uStack_94" & identifier)) ;) }) (else_clause "else {\n        puVar16 = &uStack_90;\n      }" else (compound_statement "{\n        puVar16 = &uStack_90;\n      }" { (expression_statement "puVar16 = &uStack_90;" (assignment_expression "puVar16 = &uStack_90" identifier = (pointer_expression "&uStack_90" & identifier)) ;) }))) (if_statement "if (iVar13 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" if (parenthesized_expression "(iVar13 == 0x45)" ( (binary_expression "iVar13 == 0x45" identifier == number_literal) )) (compound_statement "{\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_000ce098;" goto statement_identifier ;) })) (if_statement "if (0x45 < iVar13) break;" if (parenthesized_expression "(0x45 < iVar13)" ( (binary_expression "0x45 < iVar13" number_literal < identifier) )) (break_statement "break;" break ;)) (if_statement "if (iVar13 == -99) {\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar13 == -99)" ( (binary_expression "iVar13 == -99" identifier == number_literal) )) (compound_statement "{\n        iVar7 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" { (expression_statement "iVar7 = 0x102;" (assignment_expression "iVar7 = 0x102" identifier = number_literal) ;) (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (if_statement "if (iVar13 != 0x44) goto LAB_000ce280;" if (parenthesized_expression "(iVar13 != 0x44)" ( (binary_expression "iVar13 != 0x44" identifier != number_literal) )) (goto_statement "goto LAB_000ce280;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8));" (assignment_expression "iVar13 = internal_getopt(list_00,(char *)(iVar7 + -0x55f8))" identifier = (call_expression "internal_getopt(list_00,(char *)(iVar7 + -0x55f8))" identifier (argument_list "(list_00,(char *)(iVar7 + -0x55f8))" ( identifier , (cast_expression "(char *)(iVar7 + -0x55f8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + -0x55f8)" ( (binary_expression "iVar7 + -0x55f8" identifier + number_literal) ))) )))) ;) (if_statement "if (iVar13 == -1) goto LAB_000ce108;" if (parenthesized_expression "(iVar13 == -1)" ( (binary_expression "iVar13 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000ce108;" goto statement_identifier ;)) })) (if_statement "if (iVar13 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }" if (parenthesized_expression "(iVar13 == 0x49)" ( (binary_expression "iVar13 == 0x49" identifier == number_literal) )) (compound_statement "{\n      bVar3 = true;\n    }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else {\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }" else (compound_statement "{\n      if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);\n      iVar13 = find_compopt(pcVar9);\n      if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }\n      *puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);\n    }" { (if_statement "if (iVar13 != 0x6f) {\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar13 != 0x6f)" ( (binary_expression "iVar13 != 0x6f" identifier != number_literal) )) (compound_statement "{\nLAB_000ce280:\n        iVar7 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" { (labeled_statement "LAB_000ce280:\n        iVar7 = 0x102;" statement_identifier : (expression_statement "iVar7 = 0x102;" (assignment_expression "iVar7 = 0x102" identifier = number_literal) ;)) (expression_statement "builtin_usage();" (call_expression "builtin_usage()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (expression_statement "pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860);" (assignment_expression "pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77860)" identifier = (cast_expression "(char *)**(undefined4 **)(pcVar20 + 0x77860)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar20 + 0x77860)" * (pointer_expression "*(undefined4 **)(pcVar20 + 0x77860)" * (cast_expression "(undefined4 **)(pcVar20 + 0x77860)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77860)" ( (binary_expression "pcVar20 + 0x77860" identifier + number_literal) ))))))) ;) (expression_statement "iVar13 = find_compopt(pcVar9);" (assignment_expression "iVar13 = find_compopt(pcVar9)" identifier = (call_expression "find_compopt(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier )))) ;) (if_statement "if (iVar13 < 0) {\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar7 = 0x102;\n        sh_invalidoptname(pcVar9);\n        goto LAB_000ce240;\n      }" { (expression_statement "iVar7 = 0x102;" (assignment_expression "iVar7 = 0x102" identifier = number_literal) ;) (expression_statement "sh_invalidoptname(pcVar9);" (call_expression "sh_invalidoptname(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (expression_statement "*puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c);" (assignment_expression "*puVar16 = *puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c)" (pointer_expression "*puVar16" * identifier) = (binary_expression "*puVar16 | *(uint *)(iVar15 + iVar13 * 8 + -0x101c)" (pointer_expression "*puVar16" * identifier) | (pointer_expression "*(uint *)(iVar15 + iVar13 * 8 + -0x101c)" * (cast_expression "(uint *)(iVar15 + iVar13 * 8 + -0x101c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + iVar13 * 8 + -0x101c)" ( (binary_expression "iVar15 + iVar13 * 8 + -0x101c" (binary_expression "iVar15 + iVar13 * 8" identifier + (binary_expression "iVar13 * 8" identifier * number_literal)) + number_literal) )))))) ;) }))) (goto_statement "goto LAB_000ce098;" goto statement_identifier ;) })) (labeled_statement "LAB_000ce108:\n  piVar18 = (int *)**(int **)(pcVar20 + 0x77854);" statement_identifier : (expression_statement "piVar18 = (int *)**(int **)(pcVar20 + 0x77854);" (assignment_expression "piVar18 = (int *)**(int **)(pcVar20 + 0x77854)" identifier = (cast_expression "(int *)**(int **)(pcVar20 + 0x77854)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(pcVar20 + 0x77854)" * (pointer_expression "*(int **)(pcVar20 + 0x77854)" * (cast_expression "(int **)(pcVar20 + 0x77854)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77854)" ( (binary_expression "pcVar20 + 0x77854" identifier + number_literal) ))))))) ;)) (if_statement "if (bVar1) {\n    pcVar21 = *(code **)(pcVar20 + 0x76af8);\n    iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar21)(iVar7);\n    piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);\n    if (piVar18 != (int *)0x0) {\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }\n    piVar18 = piVar19;\n    if (piVar19 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar6 = uStack_90;\n    uVar5 = uStack_94;\n    if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar19 = (int *)0x0;\n    if (piVar18 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar7 = 0;\n    iVar15 = *(int *)(pcVar20 + 0x7659c);\n    do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);\n    if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    pcVar21 = *(code **)(pcVar20 + 0x76af8);\n    iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar21)(iVar7);\n    piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);\n    if (piVar18 != (int *)0x0) {\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }\n    piVar18 = piVar19;\n    if (piVar19 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar6 = uStack_90;\n    uVar5 = uStack_94;\n    if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }\n  }" { (expression_statement "pcVar21 = *(code **)(pcVar20 + 0x76af8);" (assignment_expression "pcVar21 = *(code **)(pcVar20 + 0x76af8)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x76af8)" * (cast_expression "(code **)(pcVar20 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x76af8)" ( (binary_expression "pcVar20 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec;" (assignment_expression "iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x65ec" identifier = (binary_expression "*(int *)(pcVar20 + 0x76a84) + -0x65ec" (pointer_expression "*(int *)(pcVar20 + 0x76a84)" * (cast_expression "(int *)(pcVar20 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x76a84)" ( (binary_expression "pcVar20 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000ce29c:\n    uVar10 = (*pcVar21)(iVar7);" statement_identifier : (expression_statement "uVar10 = (*pcVar21)(iVar7);" (assignment_expression "uVar10 = (*pcVar21)(iVar7)" identifier = (call_expression "(*pcVar21)(iVar7)" (parenthesized_expression "(*pcVar21)" ( (pointer_expression "*pcVar21" * identifier) )) (argument_list "(iVar7)" ( identifier )))) ;)) (expression_statement "piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0);" (assignment_expression "piVar19 = (int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0)" identifier = (cast_expression "(int *)(**(code **)(pcVar20 + 0x765a8))(uVar10,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x765a8))(uVar10,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x765a8))" ( (pointer_expression "**(code **)(pcVar20 + 0x765a8)" * (pointer_expression "*(code **)(pcVar20 + 0x765a8)" * (cast_expression "(code **)(pcVar20 + 0x765a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x765a8)" ( (binary_expression "pcVar20 + 0x765a8" identifier + number_literal) ))))) )) (argument_list "(uVar10,0)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar18 != (int *)0x0) {\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }" if (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }\n      goto LAB_000ce130;\n    }" { (if_statement "if (piVar19 != (int *)0x0) {\n        piVar18 = piVar19;\n      }" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar18 = piVar19;\n      }" { (expression_statement "piVar18 = piVar19;" (assignment_expression "piVar18 = piVar19" identifier = identifier) ;) })) (goto_statement "goto LAB_000ce130;" goto statement_identifier ;) })) (expression_statement "piVar18 = piVar19;" (assignment_expression "piVar18 = piVar19" identifier = identifier) ;) (if_statement "if (piVar19 != (int *)0x0) goto LAB_000ce130;" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce130;" goto statement_identifier ;)) (labeled_statement "LAB_000ce360:\n    uVar6 = uStack_90;" statement_identifier : (expression_statement "uVar6 = uStack_90;" (assignment_expression "uVar6 = uStack_90" identifier = identifier) ;)) (expression_statement "uVar5 = uStack_94;" (assignment_expression "uVar5 = uStack_94" identifier = identifier) ;) (if_statement "if (((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)) {\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }" if (parenthesized_expression "(((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0))" ( (binary_expression "((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0) ||\n       (iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)" (parenthesized_expression "((**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0)" ( (binary_expression "(**(uint **)(pcVar20 + 0x76648) & 0x4000) == 0" (parenthesized_expression "(**(uint **)(pcVar20 + 0x76648) & 0x4000)" ( (binary_expression "**(uint **)(pcVar20 + 0x76648) & 0x4000" (pointer_expression "**(uint **)(pcVar20 + 0x76648)" * (pointer_expression "*(uint **)(pcVar20 + 0x76648)" * (cast_expression "(uint **)(pcVar20 + 0x76648)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x76648)" ( (binary_expression "pcVar20 + 0x76648" identifier + number_literal) ))))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0)" ( (comma_expression "iVar7 = **(int **)(pcVar20 + 0x7782c), iVar7 == 0" (assignment_expression "iVar7 = **(int **)(pcVar20 + 0x7782c)" identifier = (pointer_expression "**(int **)(pcVar20 + 0x7782c)" * (pointer_expression "*(int **)(pcVar20 + 0x7782c)" * (cast_expression "(int **)(pcVar20 + 0x7782c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x7782c)" ( (binary_expression "pcVar20 + 0x7782c" identifier + number_literal) )))))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar7 = 1;\n      pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);\n      builtin_error(pcVar9);\n    }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5);" (assignment_expression "pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5)" identifier = (cast_expression "(char *)(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x78488))(0,*(int *)(pcVar20 + 0x7659c) + -22000,5)" (parenthesized_expression "(**(code **)(pcVar20 + 0x78488))" ( (pointer_expression "**(code **)(pcVar20 + 0x78488)" * (pointer_expression "*(code **)(pcVar20 + 0x78488)" * (cast_expression "(code **)(pcVar20 + 0x78488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x78488)" ( (binary_expression "pcVar20 + 0x78488" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(pcVar20 + 0x7659c) + -22000,5)" ( number_literal , (binary_expression "*(int *)(pcVar20 + 0x7659c) + -22000" (pointer_expression "*(int *)(pcVar20 + 0x7659c)" * (cast_expression "(int *)(pcVar20 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x7659c)" ( (binary_expression "pcVar20 + 0x7659c" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "builtin_error(pcVar9);" (call_expression "builtin_error(pcVar9)" identifier (argument_list "(pcVar9)" ( identifier ))) ;) }) (else_clause "else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }" else (compound_statement "{\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);\n      (**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);\n      iVar7 = 0;\n      (**(code **)(pcVar20 + 0x776e4))(uVar5,1);\n      (**(code **)(pcVar20 + 0x776e4))(uVar6,0);\n    }" { (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }" if (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" ( (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" identifier == number_literal) && (binary_expression "uStack_90 == 0" identifier == number_literal)) )) (compound_statement "{\n        pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);\n        print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);\n        if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }\n        goto LAB_000ce480;\n      }" { (expression_statement "pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830);" (assignment_expression "pcVar9 = (char *)**(undefined4 **)(pcVar20 + 0x77830)" identifier = (cast_expression "(char *)**(undefined4 **)(pcVar20 + 0x77830)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar20 + 0x77830)" * (pointer_expression "*(undefined4 **)(pcVar20 + 0x77830)" * (cast_expression "(undefined4 **)(pcVar20 + 0x77830)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77830)" ( (binary_expression "pcVar20 + 0x77830" identifier + number_literal) ))))))) ;) (expression_statement "print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2);" (call_expression "print_compopts(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2)" identifier (argument_list "(pcVar9,(COMPSPEC *)(iVar7 + 8),(int)in_a2)" ( identifier , (cast_expression "(COMPSPEC *)(iVar7 + 8)" ( (type_descriptor "COMPSPEC *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) ))) , (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) (if_statement "if (pcStack_8c == (char *)*puVar8) {\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }" if (parenthesized_expression "(pcStack_8c == (char *)*puVar8)" ( (binary_expression "pcStack_8c == (char *)*puVar8" identifier == (cast_expression "(char *)*puVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) )) (compound_statement "{\n          iVar7 = sh_chkwrite(0);\n          return iVar7;\n        }" { (expression_statement "iVar7 = sh_chkwrite(0);" (assignment_expression "iVar7 = sh_chkwrite(0)" identifier = (call_expression "sh_chkwrite(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (return_statement "return iVar7;" return identifier ;) })) (goto_statement "goto LAB_000ce480;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1);" (call_expression "(**(code **)(pcVar20 + 0x77b38))(iVar7,uStack_94,1)" (parenthesized_expression "(**(code **)(pcVar20 + 0x77b38))" ( (pointer_expression "**(code **)(pcVar20 + 0x77b38)" * (pointer_expression "*(code **)(pcVar20 + 0x77b38)" * (cast_expression "(code **)(pcVar20 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77b38)" ( (binary_expression "pcVar20 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar7,uStack_94,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0);" (call_expression "(**(code **)(pcVar20 + 0x77b38))(iVar7,uVar6,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x77b38))" ( (pointer_expression "**(code **)(pcVar20 + 0x77b38)" * (pointer_expression "*(code **)(pcVar20 + 0x77b38)" * (cast_expression "(code **)(pcVar20 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77b38)" ( (binary_expression "pcVar20 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar7,uVar6,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(pcVar20 + 0x776e4))(uVar5,1);" (call_expression "(**(code **)(pcVar20 + 0x776e4))(uVar5,1)" (parenthesized_expression "(**(code **)(pcVar20 + 0x776e4))" ( (pointer_expression "**(code **)(pcVar20 + 0x776e4)" * (pointer_expression "*(code **)(pcVar20 + 0x776e4)" * (cast_expression "(code **)(pcVar20 + 0x776e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x776e4)" ( (binary_expression "pcVar20 + 0x776e4" identifier + number_literal) ))))) )) (argument_list "(uVar5,1)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(pcVar20 + 0x776e4))(uVar6,0);" (call_expression "(**(code **)(pcVar20 + 0x776e4))(uVar6,0)" (parenthesized_expression "(**(code **)(pcVar20 + 0x776e4))" ( (pointer_expression "**(code **)(pcVar20 + 0x776e4)" * (pointer_expression "*(code **)(pcVar20 + 0x776e4)" * (cast_expression "(code **)(pcVar20 + 0x776e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x776e4)" ( (binary_expression "pcVar20 + 0x776e4" identifier + number_literal) ))))) )) (argument_list "(uVar6,0)" ( identifier , number_literal ))) ;) }))) }) (else_clause "else {\n    if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar19 = (int *)0x0;\n    if (piVar18 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar7 = 0;\n    iVar15 = *(int *)(pcVar20 + 0x7659c);\n    do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);\n    if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }\n  }" else (compound_statement "{\n    if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar19 = (int *)0x0;\n    if (piVar18 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar7 = 0;\n    iVar15 = *(int *)(pcVar20 + 0x7659c);\n    do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);\n    if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }\n  }" { (if_statement "if (bVar2) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" { (expression_statement "pcVar21 = *(code **)(pcVar20 + 0x76af8);" (assignment_expression "pcVar21 = *(code **)(pcVar20 + 0x76af8)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x76af8)" * (cast_expression "(code **)(pcVar20 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x76af8)" ( (binary_expression "pcVar20 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c;" (assignment_expression "iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a6c" identifier = (binary_expression "*(int *)(pcVar20 + 0x76a84) + -0x6a6c" (pointer_expression "*(int *)(pcVar20 + 0x76a84)" * (cast_expression "(int *)(pcVar20 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x76a84)" ( (binary_expression "pcVar20 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000ce29c;" goto statement_identifier ;) })) (if_statement "if (bVar3) {\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      pcVar21 = *(code **)(pcVar20 + 0x76af8);\n      iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" { (expression_statement "pcVar21 = *(code **)(pcVar20 + 0x76af8);" (assignment_expression "pcVar21 = *(code **)(pcVar20 + 0x76af8)" identifier = (pointer_expression "*(code **)(pcVar20 + 0x76af8)" * (cast_expression "(code **)(pcVar20 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x76af8)" ( (binary_expression "pcVar20 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88;" (assignment_expression "iVar7 = *(int *)(pcVar20 + 0x76a84) + -0x6a88" identifier = (binary_expression "*(int *)(pcVar20 + 0x76a84) + -0x6a88" (pointer_expression "*(int *)(pcVar20 + 0x76a84)" * (cast_expression "(int *)(pcVar20 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x76a84)" ( (binary_expression "pcVar20 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000ce29c;" goto statement_identifier ;) })) (expression_statement "piVar19 = (int *)0x0;" (assignment_expression "piVar19 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar18 == (int *)0x0) goto LAB_000ce360;" if (parenthesized_expression "(piVar18 == (int *)0x0)" ( (binary_expression "piVar18 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce360;" goto statement_identifier ;)) (labeled_statement "LAB_000ce130:\n    iVar7 = 0;" statement_identifier : (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;)) (expression_statement "iVar15 = *(int *)(pcVar20 + 0x7659c);" (assignment_expression "iVar15 = *(int *)(pcVar20 + 0x7659c)" identifier = (pointer_expression "*(int *)(pcVar20 + 0x7659c)" * (cast_expression "(int *)(pcVar20 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar20 + 0x7659c)" ( (binary_expression "pcVar20 + 0x7659c" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    } while (piVar18 != (int *)0x0);" do (compound_statement "{\n      iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);\n      uVar5 = uStack_90;\n      if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }\n      piVar18 = (int *)*piVar18;\n    }" { (expression_statement "iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1]);" (assignment_expression "iVar13 = (**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1])" identifier = (call_expression "(**(code **)(pcVar20 + 0x776d8))(*(undefined4 *)piVar18[1])" (parenthesized_expression "(**(code **)(pcVar20 + 0x776d8))" ( (pointer_expression "**(code **)(pcVar20 + 0x776d8)" * (pointer_expression "*(code **)(pcVar20 + 0x776d8)" * (cast_expression "(code **)(pcVar20 + 0x776d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x776d8)" ( (binary_expression "pcVar20 + 0x776d8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar18[1])" ( (pointer_expression "*(undefined4 *)piVar18[1]" * (cast_expression "(undefined4 *)piVar18[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "uVar5 = uStack_90;" (assignment_expression "uVar5 = uStack_90" identifier = identifier) ;) (if_statement "if (iVar13 == 0) {\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n        in_a2 = (ulong *)&DAT_00000005;\n        pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);\n        iVar7 = 1;\n        builtin_error(pcVar9,*(undefined4 *)piVar18[1]);\n      }" { (expression_statement "in_a2 = (ulong *)&DAT_00000005;" (assignment_expression "in_a2 = (ulong *)&DAT_00000005" identifier = (cast_expression "(ulong *)&DAT_00000005" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc);" (assignment_expression "pcVar9 = (char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc)" identifier = (cast_expression "(char *)(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar20 + 0x78488))(0,iVar15 + -0x56cc)" (parenthesized_expression "(**(code **)(pcVar20 + 0x78488))" ( (pointer_expression "**(code **)(pcVar20 + 0x78488)" * (pointer_expression "*(code **)(pcVar20 + 0x78488)" * (cast_expression "(code **)(pcVar20 + 0x78488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x78488)" ( (binary_expression "pcVar20 + 0x78488" identifier + number_literal) ))))) )) (argument_list "(0,iVar15 + -0x56cc)" ( number_literal , (binary_expression "iVar15 + -0x56cc" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "builtin_error(pcVar9,*(undefined4 *)piVar18[1]);" (call_expression "builtin_error(pcVar9,*(undefined4 *)piVar18[1])" identifier (argument_list "(pcVar9,*(undefined4 *)piVar18[1])" ( identifier , (pointer_expression "*(undefined4 *)piVar18[1]" * (cast_expression "(undefined4 *)piVar18[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar18[1]" identifier [ number_literal ]))) ))) ;) }) (else_clause "else if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }" else (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }\n      else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }" if (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" ( (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" identifier == number_literal) && (binary_expression "uStack_90 == 0" identifier == number_literal)) )) (compound_statement "{\n        print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);\n      }" { (expression_statement "print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2);" (call_expression "print_compopts(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2)" identifier (argument_list "(*(char **)piVar18[1],(COMPSPEC *)(iVar13 + 8),(int)in_a2)" ( (pointer_expression "*(char **)piVar18[1]" * (cast_expression "(char **)piVar18[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "piVar18[1]" identifier [ number_literal ]))) , (cast_expression "(COMPSPEC *)(iVar13 + 8)" ( (type_descriptor "COMPSPEC *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + 8)" ( (binary_expression "iVar13 + 8" identifier + number_literal) ))) , (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier) ))) ;) }) (else_clause "else {\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }" else (compound_statement "{\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);\n        in_a2 = (ulong *)0x0;\n        (**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);\n      }" { (expression_statement "(**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1);" (call_expression "(**(code **)(pcVar20 + 0x77b38))(iVar13,uStack_94,1)" (parenthesized_expression "(**(code **)(pcVar20 + 0x77b38))" ( (pointer_expression "**(code **)(pcVar20 + 0x77b38)" * (pointer_expression "*(code **)(pcVar20 + 0x77b38)" * (cast_expression "(code **)(pcVar20 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77b38)" ( (binary_expression "pcVar20 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar13,uStack_94,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "in_a2 = (ulong *)0x0;" (assignment_expression "in_a2 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "(**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5);" (call_expression "(**(code **)(pcVar20 + 0x77b38))(iVar13,uVar5)" (parenthesized_expression "(**(code **)(pcVar20 + 0x77b38))" ( (pointer_expression "**(code **)(pcVar20 + 0x77b38)" * (pointer_expression "*(code **)(pcVar20 + 0x77b38)" * (cast_expression "(code **)(pcVar20 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x77b38)" ( (binary_expression "pcVar20 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar13,uVar5)" ( identifier , identifier ))) ;) }))))) (expression_statement "piVar18 = (int *)*piVar18;" (assignment_expression "piVar18 = (int *)*piVar18" identifier = (cast_expression "(int *)*piVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar18" * identifier))) ;) }) while (parenthesized_expression "(piVar18 != (int *)0x0)" ( (binary_expression "piVar18 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (piVar19 != (int *)0x0) {\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }" if (parenthesized_expression "(piVar19 != (int *)0x0)" ( (binary_expression "piVar19 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar20 + 0x765bc))(piVar19);\n    }" { (expression_statement "(**(code **)(pcVar20 + 0x765bc))(piVar19);" (call_expression "(**(code **)(pcVar20 + 0x765bc))(piVar19)" (parenthesized_expression "(**(code **)(pcVar20 + 0x765bc))" ( (pointer_expression "**(code **)(pcVar20 + 0x765bc)" * (pointer_expression "*(code **)(pcVar20 + 0x765bc)" * (cast_expression "(code **)(pcVar20 + 0x765bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x765bc)" ( (binary_expression "pcVar20 + 0x765bc" identifier + number_literal) ))))) )) (argument_list "(piVar19)" ( identifier ))) ;) })) }))) (labeled_statement "LAB_000ce240:\n  pcVar9 = pcStack_8c;" statement_identifier : (expression_statement "pcVar9 = pcStack_8c;" (assignment_expression "pcVar9 = pcStack_8c" identifier = identifier) ;)) (if_statement "if (pcStack_8c == (char *)*puVar8) {\n    return iVar7;\n  }" if (parenthesized_expression "(pcStack_8c == (char *)*puVar8)" ( (binary_expression "pcStack_8c == (char *)*puVar8" identifier == (cast_expression "(char *)*puVar8" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (labeled_statement "LAB_000ce480:\n  iVar7 = (**(code **)(pcVar20 + 0x78478))();" statement_identifier : (expression_statement "iVar7 = (**(code **)(pcVar20 + 0x78478))();" (assignment_expression "iVar7 = (**(code **)(pcVar20 + 0x78478))()" identifier = (call_expression "(**(code **)(pcVar20 + 0x78478))()" (parenthesized_expression "(**(code **)(pcVar20 + 0x78478))" ( (pointer_expression "**(code **)(pcVar20 + 0x78478)" * (pointer_expression "*(code **)(pcVar20 + 0x78478)" * (cast_expression "(code **)(pcVar20 + 0x78478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar20 + 0x78478)" ( (binary_expression "pcVar20 + 0x78478" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (pcVar9 != (char *)0x0) {\n    cVar17 = *pcVar9;\n    if (cVar17 == '\0') {\n      *pcVar9 = '\0';\n      return iVar7;\n    }\n    iVar7 = 0;\n    pcVar4 = pcVar9;\n    do {\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));\n    *pcVar14 = '\0';\n  }" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    cVar17 = *pcVar9;\n    if (cVar17 == '\0') {\n      *pcVar9 = '\0';\n      return iVar7;\n    }\n    iVar7 = 0;\n    pcVar4 = pcVar9;\n    do {\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));\n    *pcVar14 = '\0';\n  }" { (expression_statement "cVar17 = *pcVar9;" (assignment_expression "cVar17 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) (if_statement "if (cVar17 == '\0') {\n      *pcVar9 = '\0';\n      return iVar7;\n    }" if (parenthesized_expression "(cVar17 == '\0')" ( (binary_expression "cVar17 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *pcVar9 = '\0';\n      return iVar7;\n    }" { (expression_statement "*pcVar9 = '\0';" (assignment_expression "*pcVar9 = '\0'" (pointer_expression "*pcVar9" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return iVar7;" return identifier ;) })) (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = pcVar9;" (assignment_expression "pcVar4 = pcVar9" identifier = identifier) ;) (do_statement "do {\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    } while ((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'));" do (compound_statement "{\n      pcVar14 = pcVar4 + 1;\n      iVar15 = iVar7;\n      iVar13 = iVar7 + 1;\n      if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }\n      iVar7 = iVar13;\n      cVar17 = pcVar9[iVar15];\n      *pcVar4 = cVar17;\n    }" { (expression_statement "pcVar14 = pcVar4 + 1;" (assignment_expression "pcVar14 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = iVar7;" (assignment_expression "iVar15 = iVar7" identifier = identifier) ;) (expression_statement "iVar13 = iVar7 + 1;" (assignment_expression "iVar13 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (if_statement "if (cVar17 == '\\') {\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }" if (parenthesized_expression "(cVar17 == '\\')" ( (binary_expression "cVar17 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n        iVar15 = iVar7 + 1;\n        iVar13 = iVar7 + 2;\n      }" { (expression_statement "iVar15 = iVar7 + 1;" (assignment_expression "iVar15 = iVar7 + 1" identifier = (binary_expression "iVar7 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar7 + 2;" (assignment_expression "iVar13 = iVar7 + 2" identifier = (binary_expression "iVar7 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar7 = iVar13;" (assignment_expression "iVar7 = iVar13" identifier = identifier) ;) (expression_statement "cVar17 = pcVar9[iVar15];" (assignment_expression "cVar17 = pcVar9[iVar15]" identifier = (subscript_expression "pcVar9[iVar15]" identifier [ identifier ])) ;) (expression_statement "*pcVar4 = cVar17;" (assignment_expression "*pcVar4 = cVar17" (pointer_expression "*pcVar4" * identifier) = identifier) ;) }) while (parenthesized_expression "((cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'))" ( (binary_expression "(cVar17 != '\0') && (cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0')" (parenthesized_expression "(cVar17 != '\0')" ( (binary_expression "cVar17 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0')" ( (comma_expression "cVar17 = pcVar9[iVar7], pcVar4 = pcVar14, cVar17 != '\0'" (assignment_expression "cVar17 = pcVar9[iVar7]" identifier = (subscript_expression "pcVar9[iVar7]" identifier [ identifier ])) , (comma_expression "pcVar4 = pcVar14, cVar17 != '\0'" (assignment_expression "pcVar4 = pcVar14" identifier = identifier) , (binary_expression "cVar17 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')))) ))) )) ;) (expression_statement "*pcVar14 = '\0';" (assignment_expression "*pcVar14 = '\0'" (pointer_expression "*pcVar14" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit "int compgen_builtin(int param_1)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}\n\n" (function_definition "int compgen_builtin(int param_1)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}" primitive_type (function_declarator "compgen_builtin(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uint *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "char cVar18;" primitive_type identifier ;) (declaration "undefined *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "undefined *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "undefined *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "undefined *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "undefined *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "code *pcVar22;" type_identifier (pointer_declarator "*pcVar22" * identifier) ;) (declaration "uint uStack_94;" type_identifier identifier ;) (declaration "uint uStack_90;" type_identifier identifier ;) (declaration "char *pcStack_8c;" primitive_type (pointer_declarator "*pcStack_8c" * identifier) ;) (declaration "undefined *puStack_88;" type_identifier (pointer_declarator "*puStack_88" * identifier) ;) (declaration "int *piStack_84;" primitive_type (pointer_declarator "*piStack_84" * identifier) ;) (declaration "undefined *puStack_80;" type_identifier (pointer_declarator "*puStack_80" * identifier) ;) (declaration "undefined *puStack_7c;" type_identifier (pointer_declarator "*puStack_7c" * identifier) ;) (declaration "undefined *puStack_78;" type_identifier (pointer_declarator "*puStack_78" * identifier) ;) (declaration "undefined *puStack_74;" type_identifier (pointer_declarator "*puStack_74" * identifier) ;) (declaration "undefined *puStack_70;" type_identifier (pointer_declarator "*puStack_70" * identifier) ;) (declaration "undefined *puStack_6c;" type_identifier (pointer_declarator "*puStack_6c" * identifier) ;) (declaration "undefined4 *puStack_68;" type_identifier (pointer_declarator "*puStack_68" * identifier) ;) (declaration "code *pcStack_64;" type_identifier (pointer_declarator "*pcStack_64" * identifier) ;) (declaration "undefined4 local_50;" type_identifier identifier ;) (declaration "undefined4 local_4c;" type_identifier identifier ;) (declaration "undefined *local_3c;" type_identifier (pointer_declarator "*local_3c" * identifier) ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "uint local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar5 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar5 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "puVar21 = PTR___environ_00145154;" (assignment_expression "puVar21 = PTR___environ_00145154" identifier = identifier) ;) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "piStack_84 = (int *)puVar21;" (assignment_expression "piStack_84 = (int *)puVar21" identifier = (cast_expression "(int *)puVar21" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" if (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar8 = 0;\n  }" { (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" else (compound_statement "{\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" { (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" identifier = number_literal) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x66a0)" * (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x66a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR___environ_00145154 + -0x66a0)" ( (binary_expression "PTR___environ_00145154 + -0x66a0" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x669c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x669c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x669c)" * (cast_expression "(undefined4 *)(puVar21 + -0x669c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6698) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6698) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6698)" * (cast_expression "(undefined4 *)(puVar21 + -0x6698)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6698)" ( (binary_expression "puVar21 + -0x6698" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6694) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6694) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6694)" * (cast_expression "(undefined4 *)(puVar21 + -0x6694)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6694)" ( (binary_expression "puVar21 + -0x6694" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6690) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6690) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6690)" * (cast_expression "(undefined4 *)(puVar21 + -0x6690)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6690)" ( (binary_expression "puVar21 + -0x6690" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x668c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x668c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x668c)" * (cast_expression "(undefined4 *)(puVar21 + -0x668c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x668c)" ( (binary_expression "puVar21 + -0x668c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar21 + -0x6688) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6688) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6688)" * (cast_expression "(undefined4 *)(puVar21 + -0x6688)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6688)" ( (binary_expression "puVar21 + -0x6688" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);" (assignment_expression "iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30)" identifier = (call_expression "FUN_000ccdc8(param_1,0,&local_34,&local_30)" identifier (argument_list "(param_1,0,&local_34,&local_30)" ( identifier , number_literal , (pointer_expression "&local_34" & identifier) , (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "unaff_s2 = puVar21;" (assignment_expression "unaff_s2 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s3 = puVar21;" (assignment_expression "unaff_s3 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s4 = puVar21;" (assignment_expression "unaff_s4 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s5 = puVar21;" (assignment_expression "unaff_s5 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s6 = puVar21;" (assignment_expression "unaff_s6 = puVar21" identifier = identifier) ;) (expression_statement "unaff_s7 = puVar21;" (assignment_expression "unaff_s7 = puVar21" identifier = identifier) ;) (if_statement "if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }" if (parenthesized_expression "((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1))" ( (binary_expression "(iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)" (parenthesized_expression "(iVar8 != 0x102)" ( (binary_expression "iVar8 != 0x102" identifier != number_literal) )) && (parenthesized_expression "(bVar1 = iVar8 != 1, iVar8 = 0, bVar1)" ( (comma_expression "bVar1 = iVar8 != 1, iVar8 = 0, bVar1" (assignment_expression "bVar1 = iVar8 != 1" identifier = (binary_expression "iVar8 != 1" identifier != number_literal)) , (comma_expression "iVar8 = 0, bVar1" (assignment_expression "iVar8 = 0" identifier = number_literal) , identifier)) ))) )) (compound_statement "{\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }" { (if_statement "if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }" if (parenthesized_expression "((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))" ( (binary_expression "(*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(*(int *)PTR_loptend_00145864 == 0)" ( (binary_expression "*(int *)PTR_loptend_00145864 == 0" (pointer_expression "*(int *)PTR_loptend_00145864" * (cast_expression "(int *)PTR_loptend_00145864" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0)" ( (comma_expression "puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" identifier = (pointer_expression "*(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" * (cast_expression "(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)PTR_loptend_00145864 + 4)" ( (binary_expression "*(int *)PTR_loptend_00145864 + 4" (pointer_expression "*(int *)PTR_loptend_00145864" * (cast_expression "(int *)PTR_loptend_00145864" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) , (binary_expression "puVar9 == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }" { (expression_statement "local_3c = PTR_DAT_001445ac + -0x6800;" (assignment_expression "local_3c = PTR_DAT_001445ac + -0x6800" identifier = (binary_expression "PTR_DAT_001445ac + -0x6800" identifier + number_literal)) ;) }) (else_clause "else {\n        local_3c = (undefined *)*puVar9;\n      }" else (compound_statement "{\n        local_3c = (undefined *)*puVar9;\n      }" { (expression_statement "local_3c = (undefined *)*puVar9;" (assignment_expression "local_3c = (undefined *)*puVar9" identifier = (cast_expression "(undefined *)*puVar9" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) }))) (if_statement "if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }" if (parenthesized_expression "(*(int *)(puVar21 + -0x669c) != 0)" ( (binary_expression "*(int *)(puVar21 + -0x669c) != 0" (pointer_expression "*(int *)(puVar21 + -0x669c)" * (cast_expression "(int *)(puVar21 + -0x669c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001445ac + -0x5658,5)" ( number_literal , (binary_expression "PTR_DAT_001445ac + -0x5658" identifier + number_literal) , number_literal )))) ;) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) })) (if_statement "if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }" if (parenthesized_expression "(*(int *)(puVar21 + -0x66a0) != 0)" ( (binary_expression "*(int *)(puVar21 + -0x66a0) != 0" (pointer_expression "*(int *)(puVar21 + -0x66a0)" * (cast_expression "(int *)(puVar21 + -0x66a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x66a0)" ( (binary_expression "puVar21 + -0x66a0" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }" { (expression_statement "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_001445ac + -0x5628,5)" ( number_literal , (binary_expression "PTR_DAT_001445ac + -0x5628" identifier + number_literal) , number_literal )))) ;) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) })) (expression_statement "unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();" (assignment_expression "unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR_compspec_create_00145828)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_compspec_create_00145828)()" (parenthesized_expression "(*(code *)PTR_compspec_create_00145828)" ( (pointer_expression "*(code *)PTR_compspec_create_00145828" * (cast_expression "(code *)PTR_compspec_create_00145828" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6688);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6688)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6688)" * (cast_expression "(int *)(puVar21 + -0x6688)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6688)" ( (binary_expression "puVar21 + -0x6688" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s8[2] = local_30;" (assignment_expression "unaff_s8[2] = local_30" (subscript_expression "unaff_s8[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*unaff_s8 = 1;" (assignment_expression "*unaff_s8 = 1" (pointer_expression "*unaff_s8" * identifier) = number_literal) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6688))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6688)" * (cast_expression "(undefined4 *)(puVar21 + -0x6688)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6688)" ( (binary_expression "puVar21 + -0x6688" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar14 = *(int *)(puVar21 + -0x668c);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x668c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x668c)" * (cast_expression "(int *)(puVar21 + -0x668c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x668c)" ( (binary_expression "puVar21 + -0x668c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[3] = iVar8;" (assignment_expression "unaff_s8[3] = iVar8" (subscript_expression "unaff_s8[3]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" identifier = (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x668c))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x668c)" * (cast_expression "(undefined4 *)(puVar21 + -0x668c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x668c)" ( (binary_expression "puVar21 + -0x668c" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6690);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6690)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6690)" * (cast_expression "(int *)(puVar21 + -0x6690)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6690)" ( (binary_expression "puVar21 + -0x6690" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[4] = iVar14;" (assignment_expression "unaff_s8[4] = iVar14" (subscript_expression "unaff_s8[4]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6690))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6690)" * (cast_expression "(undefined4 *)(puVar21 + -0x6690)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6690)" ( (binary_expression "puVar21 + -0x6690" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar14 = *(int *)(puVar21 + -0x6694);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x6694)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6694)" * (cast_expression "(int *)(puVar21 + -0x6694)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6694)" ( (binary_expression "puVar21 + -0x6694" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[5] = iVar8;" (assignment_expression "unaff_s8[5] = iVar8" (subscript_expression "unaff_s8[5]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" identifier = (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6694))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6694)" * (cast_expression "(undefined4 *)(puVar21 + -0x6694)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6694)" ( (binary_expression "puVar21 + -0x6694" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar8 = *(int *)(puVar21 + -0x669c);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x669c)" identifier = (pointer_expression "*(int *)(puVar21 + -0x669c)" * (cast_expression "(int *)(puVar21 + -0x669c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[6] = iVar14;" (assignment_expression "unaff_s8[6] = iVar14" (subscript_expression "unaff_s8[6]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x669c))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x669c)" * (cast_expression "(undefined4 *)(puVar21 + -0x669c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x669c)" ( (binary_expression "puVar21 + -0x669c" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar14 = *(int *)(puVar21 + -0x66a0);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x66a0)" identifier = (pointer_expression "*(int *)(puVar21 + -0x66a0)" * (cast_expression "(int *)(puVar21 + -0x66a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x66a0)" ( (binary_expression "puVar21 + -0x66a0" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[7] = iVar8;" (assignment_expression "unaff_s8[7] = iVar8" (subscript_expression "unaff_s8[7]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" identifier = (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x66a0)" * (cast_expression "(undefined4 *)(puVar21 + -0x66a0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x66a0)" ( (binary_expression "puVar21 + -0x66a0" identifier + number_literal) )))) )))) ;) })) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6698);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6698)" identifier = (pointer_expression "*(int *)(puVar21 + -0x6698)" * (cast_expression "(int *)(puVar21 + -0x6698)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6698)" ( (binary_expression "puVar21 + -0x6698" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8[8] = iVar14;" (assignment_expression "unaff_s8[8] = iVar14" (subscript_expression "unaff_s8[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }" { (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8)" ( identifier )))) ;) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698))" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6698))" ( identifier , (pointer_expression "*(undefined4 *)(puVar21 + -0x6698)" * (cast_expression "(undefined4 *)(puVar21 + -0x6698)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + -0x6698)" ( (binary_expression "puVar21 + -0x6698" identifier + number_literal) )))) )))) ;) })) (expression_statement "puVar21 = PTR_gen_compspec_completions_00145844;" (assignment_expression "puVar21 = PTR_gen_compspec_completions_00145844" identifier = identifier) ;) (expression_statement "unaff_s2 = PTR_pcomp_ind_00145820;" (assignment_expression "unaff_s2 = PTR_pcomp_ind_00145820" identifier = identifier) ;) (expression_statement "unaff_s3 = PTR_pcomp_line_0014581c;" (assignment_expression "unaff_s3 = PTR_pcomp_line_0014581c" identifier = identifier) ;) (expression_statement "unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;" (assignment_expression "unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c" identifier = (pointer_expression "*(undefined **)PTR_pcomp_line_0014581c" * (cast_expression "(undefined **)PTR_pcomp_line_0014581c" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "puVar16 = PTR_DAT_001445ac + -0x74e8;" (assignment_expression "puVar16 = PTR_DAT_001445ac + -0x74e8" identifier = (binary_expression "PTR_DAT_001445ac + -0x74e8" identifier + number_literal)) ;) (expression_statement "unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;" (assignment_expression "unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820" identifier = (pointer_expression "*(undefined **)PTR_pcomp_ind_00145820" * (cast_expression "(undefined **)PTR_pcomp_ind_00145820" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "unaff_s8[10] = iVar8;" (assignment_expression "unaff_s8[10] = iVar8" (subscript_expression "unaff_s8[10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)unaff_s3 = 0;" (assignment_expression "*(undefined4 *)unaff_s3 = 0" (pointer_expression "*(undefined4 *)unaff_s3" * (cast_expression "(undefined4 *)unaff_s3" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)unaff_s2 = 0;" (assignment_expression "*(undefined4 *)unaff_s2 = 0" (pointer_expression "*(undefined4 *)unaff_s2" * (cast_expression "(undefined4 *)unaff_s2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);" (assignment_expression "piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" identifier = (cast_expression "(int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" (parenthesized_expression "(*(code *)puVar21)" ( (pointer_expression "*(code *)puVar21" * (cast_expression "(code *)puVar21" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8,puVar16,local_3c,0)" ( identifier , identifier , identifier , number_literal ))))) ;) (expression_statement "*(undefined **)unaff_s3 = unaff_s5;" (assignment_expression "*(undefined **)unaff_s3 = unaff_s5" (pointer_expression "*(undefined **)unaff_s3" * (cast_expression "(undefined **)unaff_s3" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "*(undefined **)unaff_s2 = unaff_s4;" (assignment_expression "*(undefined **)unaff_s2 = unaff_s4" (pointer_expression "*(undefined **)unaff_s2" * (cast_expression "(undefined **)unaff_s2" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }" { (if_statement "if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" if (parenthesized_expression "((local_30 & 0x40) != 0)" ( (binary_expression "(local_30 & 0x40) != 0" (parenthesized_expression "(local_30 & 0x40)" ( (binary_expression "local_30 & 0x40" identifier & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" { (labeled_statement "LAB_000cdfa0:\n          local_50 = 0;" statement_identifier : (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" identifier = number_literal) ;)) (expression_statement "uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);" (assignment_expression "uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0)" identifier = (call_expression "(*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0)" (parenthesized_expression "(*(code *)PTR_bash_default_completion_001456ec)" ( (pointer_expression "*(code *)PTR_bash_default_completion_001456ec" * (cast_expression "(code *)PTR_bash_default_completion_001456ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c,0,0,0)" ( identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (parenthesized_expression "(*(code *)PTR_completions_to_stringlist_00145800)" ( (pointer_expression "*(code *)PTR_completions_to_stringlist_00145800" * (cast_expression "(code *)PTR_completions_to_stringlist_00145800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10)" ( identifier ))))) ;) (expression_statement "strvec_dispose(uVar10);" (call_expression "strvec_dispose(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" { (if_statement "if (piVar11[2] != 0) goto LAB_000cdee4;" if (parenthesized_expression "(piVar11[2] != 0)" ( (binary_expression "piVar11[2] != 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) != number_literal) )) (goto_statement "goto LAB_000cdee4;" goto statement_identifier ;)) (goto_statement "goto LAB_000cde58;" goto statement_identifier ;) })) })) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }" if (parenthesized_expression "((local_30 & 2) != 0)" ( (binary_expression "(local_30 & 2) != 0" (parenthesized_expression "(local_30 & 2)" ( (binary_expression "local_30 & 2" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }" { (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);" statement_identifier : (expression_statement "uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);" (assignment_expression "uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480)" identifier = (call_expression "(*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480)" (parenthesized_expression "(*(code *)PTR_rl_completion_matches_00145584)" ( (pointer_expression "*(code *)PTR_rl_completion_matches_00145584" * (cast_expression "(code *)PTR_rl_completion_matches_00145584" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_3c,PTR_rl_filename_completion_function_00145480)" ( identifier , identifier )))) ;)) (expression_statement "strlist_dispose(piVar11);" (call_expression "strlist_dispose(piVar11)" identifier (argument_list "(piVar11)" ( identifier ))) ;) (expression_statement "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" identifier = (cast_expression "(int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (parenthesized_expression "(*(code *)PTR_completions_to_stringlist_00145800)" ( (pointer_expression "*(code *)PTR_completions_to_stringlist_00145800" * (cast_expression "(code *)PTR_completions_to_stringlist_00145800" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar10)" ( identifier ))))) ;) (expression_statement "strvec_dispose(uVar10);" (call_expression "strvec_dispose(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (if_statement "if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;" if (parenthesized_expression "((*piVar11 != 0) && (piVar11[2] != 0))" ( (binary_expression "(*piVar11 != 0) && (piVar11[2] != 0)" (parenthesized_expression "(*piVar11 != 0)" ( (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" * identifier) != number_literal) )) && (parenthesized_expression "(piVar11[2] != 0)" ( (binary_expression "piVar11[2] != 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) != number_literal) ))) )) (goto_statement "goto LAB_000cdef0;" goto statement_identifier ;)) (goto_statement "goto LAB_000cde64;" goto statement_identifier ;) })) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" else (compound_statement "{\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" { (if_statement "if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" if (parenthesized_expression "(piVar11[2] == 0)" ( (binary_expression "piVar11[2] == 0" (subscript_expression "piVar11[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }" { (if_statement "if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;" if (parenthesized_expression "((local_30 & 0x40) != 0)" ( (binary_expression "(local_30 & 0x40) != 0" (parenthesized_expression "(local_30 & 0x40)" ( (binary_expression "local_30 & 0x40" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cdfa0;" goto statement_identifier ;)) (labeled_statement "LAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;" statement_identifier : (if_statement "if ((local_30 & 2) != 0) goto LAB_000cdf2c;" if (parenthesized_expression "((local_30 & 2) != 0)" ( (binary_expression "(local_30 & 2) != 0" (parenthesized_expression "(local_30 & 2)" ( (binary_expression "local_30 & 2" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_000cdf2c;" goto statement_identifier ;))) }) (else_clause "else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" else (compound_statement "{\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" { (labeled_statement "LAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" statement_identifier : (if_statement "if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" if (parenthesized_expression "(*piVar11 != 0)" ( (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" * identifier) != number_literal) )) (compound_statement "{\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" { (labeled_statement "LAB_000cdef0:\n            strlist_print(piVar11,0);" statement_identifier : (expression_statement "strlist_print(piVar11,0);" (call_expression "strlist_print(piVar11,0)" identifier (argument_list "(piVar11,0)" ( identifier , number_literal ))) ;)) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_000cde64;" goto statement_identifier ;) }))) }))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000cde64:\n        strlist_dispose(piVar11);" statement_identifier : (expression_statement "strlist_dispose(piVar11);" (call_expression "strlist_dispose(piVar11)" identifier (argument_list "(piVar11)" ( identifier ))) ;)) }))) (expression_statement "(*(code *)PTR_compspec_dispose_00145830)(unaff_s8);" (call_expression "(*(code *)PTR_compspec_dispose_00145830)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_compspec_dispose_00145830)" ( (pointer_expression "*(code *)PTR_compspec_dispose_00145830" * (cast_expression "(code *)PTR_compspec_dispose_00145830" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s8)" ( identifier ))) ;) (expression_statement "piStack_84 = piVar11;" (assignment_expression "piStack_84 = piVar11" identifier = identifier) ;) })) }))) (if_statement "if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }" if (parenthesized_expression "(local_2c == *(int *)puVar5)" ( (binary_expression "local_2c == *(int *)puVar5" identifier == (pointer_expression "*(int *)puVar5" * (cast_expression "(int *)puVar5" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return iVar8;\n  }" { (return_statement "return iVar8;" return identifier ;) })) (expression_statement "pcVar22 = compopt_builtin;" (assignment_expression "pcVar22 = compopt_builtin" identifier = identifier) ;) (expression_statement "iVar8 = local_2c;" (assignment_expression "iVar8 = local_2c" identifier = identifier) ;) (expression_statement "puVar21 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar9 = *(undefined4 **)(puVar21 + 0x784cc);" (assignment_expression "puVar9 = *(undefined4 **)(puVar21 + 0x784cc)" identifier = (pointer_expression "*(undefined4 **)(puVar21 + 0x784cc)" * (cast_expression "(undefined4 **)(puVar21 + 0x784cc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x784cc)" ( (binary_expression "puVar21 + 0x784cc" identifier + number_literal) ))))) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "puStack_88 = puVar5;" (assignment_expression "puStack_88 = puVar5" identifier = identifier) ;) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" identifier = number_literal) ;) (expression_statement "uStack_94 = 0;" (assignment_expression "uStack_94 = 0" identifier = number_literal) ;) (expression_statement "pcStack_8c = (char *)*puVar9;" (assignment_expression "pcStack_8c = (char *)*puVar9" identifier = (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) ;) (expression_statement "iVar14 = *(int *)(puVar21 + 0x7659c);" (assignment_expression "iVar14 = *(int *)(puVar21 + 0x7659c)" identifier = (pointer_expression "*(int *)(puVar21 + 0x7659c)" * (cast_expression "(int *)(puVar21 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x7659c)" ( (binary_expression "puVar21 + 0x7659c" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = *(int **)(puVar21 + 0x778e0);" (assignment_expression "piVar11 = *(int **)(puVar21 + 0x778e0)" identifier = (pointer_expression "*(int **)(puVar21 + 0x778e0)" * (cast_expression "(int **)(puVar21 + 0x778e0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x778e0)" ( (binary_expression "puVar21 + 0x778e0" identifier + number_literal) ))))) ;) (expression_statement "puStack_80 = unaff_s2;" (assignment_expression "puStack_80 = unaff_s2" identifier = identifier) ;) (expression_statement "puStack_7c = unaff_s3;" (assignment_expression "puStack_7c = unaff_s3" identifier = identifier) ;) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" identifier = identifier) ;) (expression_statement "puStack_74 = unaff_s5;" (assignment_expression "puStack_74 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_70 = unaff_s6;" (assignment_expression "puStack_70 = unaff_s6" identifier = identifier) ;) (expression_statement "puStack_6c = unaff_s7;" (assignment_expression "puStack_6c = unaff_s7" identifier = identifier) ;) (expression_statement "puStack_68 = unaff_s8;" (assignment_expression "puStack_68 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_64 = pcVar22;" (assignment_expression "pcStack_64 = pcVar22" identifier = identifier) ;) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar19 = *(int *)(puVar21 + 0x76558);" (assignment_expression "iVar19 = *(int *)(puVar21 + 0x76558)" identifier = (pointer_expression "*(int *)(puVar21 + 0x76558)" * (cast_expression "(int *)(puVar21 + 0x76558)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76558)" ( (binary_expression "puVar21 + 0x76558" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" statement_identifier : (expression_statement "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (assignment_expression "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8)" identifier = (call_expression "internal_getopt(iVar8,iVar14 + -0x55f8)" identifier (argument_list "(iVar8,iVar14 + -0x55f8)" ( identifier , (binary_expression "iVar14 + -0x55f8" identifier + number_literal) )))) ;)) (if_statement "if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" if (parenthesized_expression "(iVar12 != -1)" ( (binary_expression "iVar12 != -1" identifier != number_literal) )) (compound_statement "{\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" { (while_statement "while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }" { (if_statement "if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }" if (parenthesized_expression "(*piVar11 == 0x2d)" ( (binary_expression "*piVar11 == 0x2d" (pointer_expression "*piVar11" * identifier) == number_literal) )) (compound_statement "{\n        puVar17 = &uStack_94;\n      }" { (expression_statement "puVar17 = &uStack_94;" (assignment_expression "puVar17 = &uStack_94" identifier = (pointer_expression "&uStack_94" & identifier)) ;) }) (else_clause "else {\n        puVar17 = &uStack_90;\n      }" else (compound_statement "{\n        puVar17 = &uStack_90;\n      }" { (expression_statement "puVar17 = &uStack_90;" (assignment_expression "puVar17 = &uStack_90" identifier = (pointer_expression "&uStack_90" & identifier)) ;) }))) (if_statement "if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" if (parenthesized_expression "(iVar12 == 0x45)" ( (binary_expression "iVar12 == 0x45" identifier == number_literal) )) (compound_statement "{\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" { (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) (goto_statement "goto LAB_000ce098;" goto statement_identifier ;) })) (if_statement "if (0x45 < iVar12) break;" if (parenthesized_expression "(0x45 < iVar12)" ( (binary_expression "0x45 < iVar12" number_literal < identifier) )) (break_statement "break;" break ;)) (if_statement "if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar12 == -99)" ( (binary_expression "iVar12 == -99" identifier == number_literal) )) (compound_statement "{\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" { (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" identifier = number_literal) ;) (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (if_statement "if (iVar12 != 0x44) goto LAB_000ce280;" if (parenthesized_expression "(iVar12 != 0x44)" ( (binary_expression "iVar12 != 0x44" identifier != number_literal) )) (goto_statement "goto LAB_000ce280;" goto statement_identifier ;)) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (assignment_expression "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8)" identifier = (call_expression "internal_getopt(iVar8,iVar14 + -0x55f8)" identifier (argument_list "(iVar8,iVar14 + -0x55f8)" ( identifier , (binary_expression "iVar14 + -0x55f8" identifier + number_literal) )))) ;) (if_statement "if (iVar12 == -1) goto LAB_000ce108;" if (parenthesized_expression "(iVar12 == -1)" ( (binary_expression "iVar12 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000ce108;" goto statement_identifier ;)) })) (if_statement "if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" if (parenthesized_expression "(iVar12 == 0x49)" ( (binary_expression "iVar12 == 0x49" identifier == number_literal) )) (compound_statement "{\n      bVar3 = true;\n    }" { (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" identifier = true) ;) }) (else_clause "else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" else (compound_statement "{\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" { (if_statement "if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar12 != 0x6f)" ( (binary_expression "iVar12 != 0x6f" identifier != number_literal) )) (compound_statement "{\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" { (labeled_statement "LAB_000ce280:\n        iVar8 = 0x102;" statement_identifier : (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" identifier = number_literal) ;)) (expression_statement "builtin_usage();" (call_expression "builtin_usage()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (expression_statement "uVar10 = **(undefined4 **)(puVar21 + 0x77860);" (assignment_expression "uVar10 = **(undefined4 **)(puVar21 + 0x77860)" identifier = (pointer_expression "**(undefined4 **)(puVar21 + 0x77860)" * (pointer_expression "*(undefined4 **)(puVar21 + 0x77860)" * (cast_expression "(undefined4 **)(puVar21 + 0x77860)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77860)" ( (binary_expression "puVar21 + 0x77860" identifier + number_literal) )))))) ;) (expression_statement "iVar12 = FUN_000cc240(uVar10);" (assignment_expression "iVar12 = FUN_000cc240(uVar10)" identifier = (call_expression "FUN_000cc240(uVar10)" identifier (argument_list "(uVar10)" ( identifier )))) ;) (if_statement "if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }" if (parenthesized_expression "(iVar12 < 0)" ( (binary_expression "iVar12 < 0" identifier < number_literal) )) (compound_statement "{\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }" { (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" identifier = number_literal) ;) (expression_statement "sh_invalidoptname(uVar10);" (call_expression "sh_invalidoptname(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) (goto_statement "goto LAB_000ce240;" goto statement_identifier ;) })) (expression_statement "*puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);" (assignment_expression "*puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (pointer_expression "*puVar17" * identifier) = (binary_expression "*puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (pointer_expression "*puVar17" * identifier) | (pointer_expression "*(uint *)(iVar19 + iVar12 * 8 + -0x101c)" * (cast_expression "(uint *)(iVar19 + iVar12 * 8 + -0x101c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar19 + iVar12 * 8 + -0x101c)" ( (binary_expression "iVar19 + iVar12 * 8 + -0x101c" (binary_expression "iVar19 + iVar12 * 8" identifier + (binary_expression "iVar12 * 8" identifier * number_literal)) + number_literal) )))))) ;) }))) (goto_statement "goto LAB_000ce098;" goto statement_identifier ;) })) (labeled_statement "LAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);" statement_identifier : (expression_statement "piVar11 = (int *)**(int **)(puVar21 + 0x77854);" (assignment_expression "piVar11 = (int *)**(int **)(puVar21 + 0x77854)" identifier = (cast_expression "(int *)**(int **)(puVar21 + 0x77854)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(int **)(puVar21 + 0x77854)" * (pointer_expression "*(int **)(puVar21 + 0x77854)" * (cast_expression "(int **)(puVar21 + 0x77854)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77854)" ( (binary_expression "puVar21 + 0x77854" identifier + number_literal) ))))))) ;)) (if_statement "if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" identifier = (pointer_expression "*(code **)(puVar21 + 0x76af8)" * (cast_expression "(code **)(puVar21 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76af8)" ( (binary_expression "puVar21 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec" identifier = (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x65ec" (pointer_expression "*(int *)(puVar21 + 0x76a84)" * (cast_expression "(int *)(puVar21 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76a84)" ( (binary_expression "puVar21 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);" statement_identifier : (expression_statement "uVar10 = (*pcVar22)(iVar8);" (assignment_expression "uVar10 = (*pcVar22)(iVar8)" identifier = (call_expression "(*pcVar22)(iVar8)" (parenthesized_expression "(*pcVar22)" ( (pointer_expression "*pcVar22" * identifier) )) (argument_list "(iVar8)" ( identifier )))) ;)) (expression_statement "piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);" (assignment_expression "piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0)" identifier = (cast_expression "(int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar21 + 0x765a8))(uVar10,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x765a8))" ( (pointer_expression "**(code **)(puVar21 + 0x765a8)" * (pointer_expression "*(code **)(puVar21 + 0x765a8)" * (cast_expression "(code **)(puVar21 + 0x765a8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x765a8)" ( (binary_expression "puVar21 + 0x765a8" identifier + number_literal) ))))) )) (argument_list "(uVar10,0)" ( identifier , number_literal ))))) ;) (if_statement "if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }" if (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }" { (if_statement "if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piVar11 = piVar20;\n      }" { (expression_statement "piVar11 = piVar20;" (assignment_expression "piVar11 = piVar20" identifier = identifier) ;) })) (goto_statement "goto LAB_000ce130;" goto statement_identifier ;) })) (expression_statement "piVar11 = piVar20;" (assignment_expression "piVar11 = piVar20" identifier = identifier) ;) (if_statement "if (piVar20 != (int *)0x0) goto LAB_000ce130;" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce130;" goto statement_identifier ;)) (labeled_statement "LAB_000ce360:\n    uVar7 = uStack_90;" statement_identifier : (expression_statement "uVar7 = uStack_90;" (assignment_expression "uVar7 = uStack_90" identifier = identifier) ;)) (expression_statement "uVar6 = uStack_94;" (assignment_expression "uVar6 = uStack_94" identifier = identifier) ;) (if_statement "if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" if (parenthesized_expression "(((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0))" ( (binary_expression "((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)" (parenthesized_expression "((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0)" ( (binary_expression "(**(uint **)(puVar21 + 0x76648) & 0x4000) == 0" (parenthesized_expression "(**(uint **)(puVar21 + 0x76648) & 0x4000)" ( (binary_expression "**(uint **)(puVar21 + 0x76648) & 0x4000" (pointer_expression "**(uint **)(puVar21 + 0x76648)" * (pointer_expression "*(uint **)(puVar21 + 0x76648)" * (cast_expression "(uint **)(puVar21 + 0x76648)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76648)" ( (binary_expression "puVar21 + 0x76648" identifier + number_literal) ))))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)" ( (comma_expression "iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0" (assignment_expression "iVar8 = **(int **)(puVar21 + 0x7782c)" identifier = (pointer_expression "**(int **)(puVar21 + 0x7782c)" * (pointer_expression "*(int **)(puVar21 + 0x7782c)" * (cast_expression "(int **)(puVar21 + 0x7782c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x7782c)" ( (binary_expression "puVar21 + 0x7782c" identifier + number_literal) )))))) , (binary_expression "iVar8 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }" { (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);" (assignment_expression "uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" identifier = (call_expression "(**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" (parenthesized_expression "(**(code **)(puVar21 + 0x78488))" ( (pointer_expression "**(code **)(puVar21 + 0x78488)" * (pointer_expression "*(code **)(puVar21 + 0x78488)" * (cast_expression "(code **)(puVar21 + 0x78488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x78488)" ( (binary_expression "puVar21 + 0x78488" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" ( number_literal , (binary_expression "*(int *)(puVar21 + 0x7659c) + -22000" (pointer_expression "*(int *)(puVar21 + 0x7659c)" * (cast_expression "(int *)(puVar21 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x7659c)" ( (binary_expression "puVar21 + 0x7659c" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" identifier (argument_list "(uVar10)" ( identifier ))) ;) }) (else_clause "else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" else (compound_statement "{\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" { (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }" if (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" ( (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" identifier == number_literal) && (binary_expression "uStack_90 == 0" identifier == number_literal)) )) (compound_statement "{\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }" { (expression_statement "pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);" (assignment_expression "pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830)" identifier = (cast_expression "(char *)**(undefined4 **)(puVar21 + 0x77830)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar21 + 0x77830)" * (pointer_expression "*(undefined4 **)(puVar21 + 0x77830)" * (cast_expression "(undefined4 **)(puVar21 + 0x77830)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77830)" ( (binary_expression "puVar21 + 0x77830" identifier + number_literal) ))))))) ;) (expression_statement "FUN_000cd290(pcVar15,iVar8 + 8);" (call_expression "FUN_000cd290(pcVar15,iVar8 + 8)" identifier (argument_list "(pcVar15,iVar8 + 8)" ( identifier , (binary_expression "iVar8 + 8" identifier + number_literal) ))) ;) (if_statement "if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }" if (parenthesized_expression "(pcStack_8c == (char *)*puVar9)" ( (binary_expression "pcStack_8c == (char *)*puVar9" identifier == (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) )) (compound_statement "{\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }" { (expression_statement "iVar8 = sh_chkwrite(0);" (assignment_expression "iVar8 = sh_chkwrite(0)" identifier = (call_expression "sh_chkwrite(0)" identifier (argument_list "(0)" ( number_literal )))) ;) (return_statement "return iVar8;" return identifier ;) })) (goto_statement "goto LAB_000ce480;" goto statement_identifier ;) })) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar8,uStack_94,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar8,uVar7,0)" ( identifier , identifier , number_literal ))) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "(**(code **)(puVar21 + 0x776e4))(uVar6,1);" (call_expression "(**(code **)(puVar21 + 0x776e4))(uVar6,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x776e4))" ( (pointer_expression "**(code **)(puVar21 + 0x776e4)" * (pointer_expression "*(code **)(puVar21 + 0x776e4)" * (cast_expression "(code **)(puVar21 + 0x776e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x776e4)" ( (binary_expression "puVar21 + 0x776e4" identifier + number_literal) ))))) )) (argument_list "(uVar6,1)" ( identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar21 + 0x776e4))(uVar7,0);" (call_expression "(**(code **)(puVar21 + 0x776e4))(uVar7,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x776e4))" ( (pointer_expression "**(code **)(puVar21 + 0x776e4)" * (pointer_expression "*(code **)(puVar21 + 0x776e4)" * (cast_expression "(code **)(puVar21 + 0x776e4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x776e4)" ( (binary_expression "puVar21 + 0x776e4" identifier + number_literal) ))))) )) (argument_list "(uVar7,0)" ( identifier , number_literal ))) ;) }))) }) (else_clause "else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" else (compound_statement "{\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" { (if_statement "if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" if (parenthesized_expression "(bVar2)" ( identifier )) (compound_statement "{\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" identifier = (pointer_expression "*(code **)(puVar21 + 0x76af8)" * (cast_expression "(code **)(puVar21 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76af8)" ( (binary_expression "puVar21 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c" identifier = (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x6a6c" (pointer_expression "*(int *)(puVar21 + 0x76a84)" * (cast_expression "(int *)(puVar21 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76a84)" ( (binary_expression "puVar21 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000ce29c;" goto statement_identifier ;) })) (if_statement "if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" { (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" identifier = (pointer_expression "*(code **)(puVar21 + 0x76af8)" * (cast_expression "(code **)(puVar21 + 0x76af8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x76af8)" ( (binary_expression "puVar21 + 0x76af8" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88" identifier = (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x6a88" (pointer_expression "*(int *)(puVar21 + 0x76a84)" * (cast_expression "(int *)(puVar21 + 0x76a84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x76a84)" ( (binary_expression "puVar21 + 0x76a84" identifier + number_literal) )))) + number_literal)) ;) (goto_statement "goto LAB_000ce29c;" goto statement_identifier ;) })) (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" identifier = (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000ce360;" if (parenthesized_expression "(piVar11 == (int *)0x0)" ( (binary_expression "piVar11 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000ce360;" goto statement_identifier ;)) (labeled_statement "LAB_000ce130:\n    iVar8 = 0;" statement_identifier : (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;)) (expression_statement "iVar14 = *(int *)(puVar21 + 0x7659c);" (assignment_expression "iVar14 = *(int *)(puVar21 + 0x7659c)" identifier = (pointer_expression "*(int *)(puVar21 + 0x7659c)" * (cast_expression "(int *)(puVar21 + 0x7659c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar21 + 0x7659c)" ( (binary_expression "puVar21 + 0x7659c" identifier + number_literal) ))))) ;) (do_statement "do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);" do (compound_statement "{\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    }" { (expression_statement "iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);" (assignment_expression "iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1])" identifier = (call_expression "(**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1])" (parenthesized_expression "(**(code **)(puVar21 + 0x776d8))" ( (pointer_expression "**(code **)(puVar21 + 0x776d8)" * (pointer_expression "*(code **)(puVar21 + 0x776d8)" * (cast_expression "(code **)(puVar21 + 0x776d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x776d8)" ( (binary_expression "puVar21 + 0x776d8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)piVar11[1])" ( (pointer_expression "*(undefined4 *)piVar11[1]" * (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) )))) ;) (expression_statement "uVar6 = uStack_90;" (assignment_expression "uVar6 = uStack_90" identifier = identifier) ;) (if_statement "if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }" { (expression_statement "uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);" (assignment_expression "uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5)" identifier = (call_expression "(**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5)" (parenthesized_expression "(**(code **)(puVar21 + 0x78488))" ( (pointer_expression "**(code **)(puVar21 + 0x78488)" * (pointer_expression "*(code **)(puVar21 + 0x78488)" * (cast_expression "(code **)(puVar21 + 0x78488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x78488)" ( (binary_expression "puVar21 + 0x78488" identifier + number_literal) ))))) )) (argument_list "(0,iVar14 + -0x56cc,5)" ( number_literal , (binary_expression "iVar14 + -0x56cc" identifier + number_literal) , number_literal )))) ;) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" identifier = number_literal) ;) (expression_statement "builtin_error(uVar10,*(undefined4 *)piVar11[1]);" (call_expression "builtin_error(uVar10,*(undefined4 *)piVar11[1])" identifier (argument_list "(uVar10,*(undefined4 *)piVar11[1])" ( identifier , (pointer_expression "*(undefined4 *)piVar11[1]" * (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ))) ;) }) (else_clause "else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" else (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" if (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" ( (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" identifier == number_literal) && (binary_expression "uStack_90 == 0" identifier == number_literal)) )) (compound_statement "{\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }" { (expression_statement "FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);" (call_expression "FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8)" identifier (argument_list "(*(undefined4 *)piVar11[1],iVar19 + 8)" ( (pointer_expression "*(undefined4 *)piVar11[1]" * (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) , (binary_expression "iVar19 + 8" identifier + number_literal) ))) ;) }) (else_clause "else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" else (compound_statement "{\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" { (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar19,uStack_94,1)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" ( (pointer_expression "**(code **)(puVar21 + 0x77b38)" * (pointer_expression "*(code **)(puVar21 + 0x77b38)" * (cast_expression "(code **)(puVar21 + 0x77b38)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x77b38)" ( (binary_expression "puVar21 + 0x77b38" identifier + number_literal) ))))) )) (argument_list "(iVar19,uVar6,0)" ( identifier , identifier , number_literal ))) ;) }))))) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" identifier = (cast_expression "(int *)*piVar11" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }) while (parenthesized_expression "(piVar11 != (int *)0x0)" ( (binary_expression "piVar11 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (if_statement "if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }" if (parenthesized_expression "(piVar20 != (int *)0x0)" ( (binary_expression "piVar20 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }" { (expression_statement "(**(code **)(puVar21 + 0x765bc))(piVar20);" (call_expression "(**(code **)(puVar21 + 0x765bc))(piVar20)" (parenthesized_expression "(**(code **)(puVar21 + 0x765bc))" ( (pointer_expression "**(code **)(puVar21 + 0x765bc)" * (pointer_expression "*(code **)(puVar21 + 0x765bc)" * (cast_expression "(code **)(puVar21 + 0x765bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x765bc)" ( (binary_expression "puVar21 + 0x765bc" identifier + number_literal) ))))) )) (argument_list "(piVar20)" ( identifier ))) ;) })) }))) (labeled_statement "LAB_000ce240:\n  pcVar15 = pcStack_8c;" statement_identifier : (expression_statement "pcVar15 = pcStack_8c;" (assignment_expression "pcVar15 = pcStack_8c" identifier = identifier) ;)) (if_statement "if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }" if (parenthesized_expression "(pcStack_8c == (char *)*puVar9)" ( (binary_expression "pcStack_8c == (char *)*puVar9" identifier == (cast_expression "(char *)*puVar9" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar9" * identifier))) )) (compound_statement "{\n    return iVar8;\n  }" { (return_statement "return iVar8;" return identifier ;) })) (labeled_statement "LAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();" statement_identifier : (expression_statement "iVar8 = (**(code **)(puVar21 + 0x78478))();" (assignment_expression "iVar8 = (**(code **)(puVar21 + 0x78478))()" identifier = (call_expression "(**(code **)(puVar21 + 0x78478))()" (parenthesized_expression "(**(code **)(puVar21 + 0x78478))" ( (pointer_expression "**(code **)(puVar21 + 0x78478)" * (pointer_expression "*(code **)(puVar21 + 0x78478)" * (cast_expression "(code **)(puVar21 + 0x78478)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar21 + 0x78478)" ( (binary_expression "puVar21 + 0x78478" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;)) (if_statement "if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }" if (parenthesized_expression "(pcVar15 != (char *)0x0)" ( (binary_expression "pcVar15 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }" { (expression_statement "cVar18 = *pcVar15;" (assignment_expression "cVar18 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (if_statement "if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }" if (parenthesized_expression "(cVar18 == '\0')" ( (binary_expression "cVar18 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      *pcVar15 = '\0';\n      return iVar8;\n    }" { (expression_statement "*pcVar15 = '\0';" (assignment_expression "*pcVar15 = '\0'" (pointer_expression "*pcVar15" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return iVar8;" return identifier ;) })) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (expression_statement "pcVar4 = pcVar15;" (assignment_expression "pcVar4 = pcVar15" identifier = identifier) ;) (do_statement "do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));" do (compound_statement "{\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    }" { (expression_statement "pcVar13 = pcVar4 + 1;" (assignment_expression "pcVar13 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) (expression_statement "iVar14 = iVar8;" (assignment_expression "iVar14 = iVar8" identifier = identifier) ;) (expression_statement "iVar19 = iVar8 + 1;" (assignment_expression "iVar19 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (if_statement "if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }" if (parenthesized_expression "(cVar18 == '\\')" ( (binary_expression "cVar18 == '\\'" identifier == (char_literal "'\\'" ' escape_sequence ')) )) (compound_statement "{\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }" { (expression_statement "iVar14 = iVar8 + 1;" (assignment_expression "iVar14 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "iVar19 = iVar8 + 2;" (assignment_expression "iVar19 = iVar8 + 2" identifier = (binary_expression "iVar8 + 2" identifier + number_literal)) ;) })) (expression_statement "iVar8 = iVar19;" (assignment_expression "iVar8 = iVar19" identifier = identifier) ;) (expression_statement "cVar18 = pcVar15[iVar14];" (assignment_expression "cVar18 = pcVar15[iVar14]" identifier = (subscript_expression "pcVar15[iVar14]" identifier [ identifier ])) ;) (expression_statement "*pcVar4 = cVar18;" (assignment_expression "*pcVar4 = cVar18" (pointer_expression "*pcVar4" * identifier) = identifier) ;) }) while (parenthesized_expression "((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'))" ( (binary_expression "(cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0')" (parenthesized_expression "(cVar18 != '\0')" ( (binary_expression "cVar18 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0')" ( (comma_expression "cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'" (assignment_expression "cVar18 = pcVar15[iVar8]" identifier = (subscript_expression "pcVar15[iVar8]" identifier [ identifier ])) , (comma_expression "pcVar4 = pcVar13, cVar18 != '\0'" (assignment_expression "pcVar4 = pcVar13" identifier = identifier) , (binary_expression "cVar18 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')))) ))) )) ;) (expression_statement "*pcVar13 = '\0';" (assignment_expression "*pcVar13 = '\0'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (return_statement "return iVar8;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) , (pointer_expression & IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT != LIT)) , (comma_expression (assignment_expression IDENT = LIT) , IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) }))) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression IDENT * LIT)) + LIT) )))))) ;) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;)) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (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 { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression IDENT + LIT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT ))) ;) }))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != (char_literal ' escape_sequence ')))) ))) )) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) })) (return_statement return IDENT ;) })))
(function_definition "int compgen_builtin(int param_1)\n\n{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}" (primitive_type "int") (function_declarator "compgen_builtin(int param_1)" (identifier "compgen_builtin") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  bool bVar1;\n  bool bVar2;\n  bool bVar3;\n  char *pcVar4;\n  undefined *puVar5;\n  uint uVar6;\n  uint uVar7;\n  int iVar8;\n  undefined4 *puVar9;\n  undefined4 uVar10;\n  int *piVar11;\n  int iVar12;\n  char *pcVar13;\n  int iVar14;\n  char *pcVar15;\n  undefined *puVar16;\n  uint *puVar17;\n  char cVar18;\n  undefined *unaff_s2;\n  undefined *unaff_s3;\n  undefined *unaff_s4;\n  int iVar19;\n  int *piVar20;\n  undefined *unaff_s5;\n  undefined *unaff_s6;\n  undefined *unaff_s7;\n  undefined *puVar21;\n  undefined4 *unaff_s8;\n  code *pcVar22;\n  uint uStack_94;\n  uint uStack_90;\n  char *pcStack_8c;\n  undefined *puStack_88;\n  int *piStack_84;\n  undefined *puStack_80;\n  undefined *puStack_7c;\n  undefined *puStack_78;\n  undefined *puStack_74;\n  undefined *puStack_70;\n  undefined *puStack_6c;\n  undefined4 *puStack_68;\n  code *pcStack_64;\n  undefined4 local_50;\n  undefined4 local_4c;\n  undefined *local_3c;\n  undefined4 local_34;\n  uint local_30;\n  int local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_001464dc;\n  puVar21 = PTR___environ_00145154;\n  local_2c = *(int *)PTR___stack_chk_guard_001464dc;\n  piStack_84 = (int *)puVar21;\n  if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }\n  if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }\n  pcVar22 = compopt_builtin;\n  iVar8 = local_2c;\n  puVar21 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);\n  bVar2 = false;\n  bVar3 = false;\n  bVar1 = false;\n  puStack_88 = puVar5;\n  uStack_90 = 0;\n  uStack_94 = 0;\n  pcStack_8c = (char *)*puVar9;\n  iVar14 = *(int *)(puVar21 + 0x7659c);\n  piVar11 = *(int **)(puVar21 + 0x778e0);\n  puStack_80 = unaff_s2;\n  puStack_7c = unaff_s3;\n  puStack_78 = unaff_s4;\n  puStack_74 = unaff_s5;\n  puStack_70 = unaff_s6;\n  puStack_6c = unaff_s7;\n  puStack_68 = unaff_s8;\n  pcStack_64 = pcVar22;\n  reset_internal_getopt();\n  iVar19 = *(int *)(puVar21 + 0x76558);\nLAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n  if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }\nLAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);\n  if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }\nLAB_000ce240:\n  pcVar15 = pcStack_8c;\n  if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }\nLAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();\n  if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }\n  return iVar8;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "bool bVar2;" (primitive_type "bool") (identifier "bVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "int iVar12;" (primitive_type "int") (identifier "iVar12") (; ";")) (declaration "char *pcVar13;" (primitive_type "char") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "char *pcVar15;" (primitive_type "char") (pointer_declarator "*pcVar15" (* "*") (identifier "pcVar15")) (; ";")) (declaration "undefined *puVar16;" (type_identifier "undefined") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "uint *puVar17;" (type_identifier "uint") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "char cVar18;" (primitive_type "char") (identifier "cVar18") (; ";")) (declaration "undefined *unaff_s2;" (type_identifier "undefined") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "undefined *unaff_s3;" (type_identifier "undefined") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "undefined *unaff_s4;" (type_identifier "undefined") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "int iVar19;" (primitive_type "int") (identifier "iVar19") (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "undefined *unaff_s5;" (type_identifier "undefined") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "undefined *unaff_s6;" (type_identifier "undefined") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "undefined *unaff_s7;" (type_identifier "undefined") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "undefined *puVar21;" (type_identifier "undefined") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined4 *unaff_s8;" (type_identifier "undefined4") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "code *pcVar22;" (type_identifier "code") (pointer_declarator "*pcVar22" (* "*") (identifier "pcVar22")) (; ";")) (declaration "uint uStack_94;" (type_identifier "uint") (identifier "uStack_94") (; ";")) (declaration "uint uStack_90;" (type_identifier "uint") (identifier "uStack_90") (; ";")) (declaration "char *pcStack_8c;" (primitive_type "char") (pointer_declarator "*pcStack_8c" (* "*") (identifier "pcStack_8c")) (; ";")) (declaration "undefined *puStack_88;" (type_identifier "undefined") (pointer_declarator "*puStack_88" (* "*") (identifier "puStack_88")) (; ";")) (declaration "int *piStack_84;" (primitive_type "int") (pointer_declarator "*piStack_84" (* "*") (identifier "piStack_84")) (; ";")) (declaration "undefined *puStack_80;" (type_identifier "undefined") (pointer_declarator "*puStack_80" (* "*") (identifier "puStack_80")) (; ";")) (declaration "undefined *puStack_7c;" (type_identifier "undefined") (pointer_declarator "*puStack_7c" (* "*") (identifier "puStack_7c")) (; ";")) (declaration "undefined *puStack_78;" (type_identifier "undefined") (pointer_declarator "*puStack_78" (* "*") (identifier "puStack_78")) (; ";")) (declaration "undefined *puStack_74;" (type_identifier "undefined") (pointer_declarator "*puStack_74" (* "*") (identifier "puStack_74")) (; ";")) (declaration "undefined *puStack_70;" (type_identifier "undefined") (pointer_declarator "*puStack_70" (* "*") (identifier "puStack_70")) (; ";")) (declaration "undefined *puStack_6c;" (type_identifier "undefined") (pointer_declarator "*puStack_6c" (* "*") (identifier "puStack_6c")) (; ";")) (declaration "undefined4 *puStack_68;" (type_identifier "undefined4") (pointer_declarator "*puStack_68" (* "*") (identifier "puStack_68")) (; ";")) (declaration "code *pcStack_64;" (type_identifier "code") (pointer_declarator "*pcStack_64" (* "*") (identifier "pcStack_64")) (; ";")) (declaration "undefined4 local_50;" (type_identifier "undefined4") (identifier "local_50") (; ";")) (declaration "undefined4 local_4c;" (type_identifier "undefined4") (identifier "local_4c") (; ";")) (declaration "undefined *local_3c;" (type_identifier "undefined") (pointer_declarator "*local_3c" (* "*") (identifier "local_3c")) (; ";")) (declaration "undefined4 local_34;" (type_identifier "undefined4") (identifier "local_34") (; ";")) (declaration "uint local_30;" (type_identifier "uint") (identifier "local_30") (; ";")) (declaration "int local_2c;" (primitive_type "int") (identifier "local_2c") (; ";")) (expression_statement "puVar5 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar5 = PTR___stack_chk_guard_001464dc" (identifier "puVar5") (= "=") (identifier "PTR___stack_chk_guard_001464dc")) (; ";")) (expression_statement "puVar21 = PTR___environ_00145154;" (assignment_expression "puVar21 = PTR___environ_00145154" (identifier "puVar21") (= "=") (identifier "PTR___environ_00145154")) (; ";")) (expression_statement "local_2c = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_2c = *(int *)PTR___stack_chk_guard_001464dc" (identifier "local_2c") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (expression_statement "piStack_84 = (int *)puVar21;" (assignment_expression "piStack_84 = (int *)puVar21" (identifier "piStack_84") (= "=") (cast_expression "(int *)puVar21" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar21"))) (; ";")) (if_statement "if (param_1 == 0) {\n    iVar8 = 0;\n  }\n  else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" (if "if") (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    iVar8 = 0;\n  }" ({ "{") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" (else "else") (compound_statement "{\n    local_30 = 0;\n    local_34 = 0;\n    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;\n    *(undefined4 *)(puVar21 + -0x669c) = 0;\n    *(undefined4 *)(puVar21 + -0x6698) = 0;\n    *(undefined4 *)(puVar21 + -0x6694) = 0;\n    *(undefined4 *)(puVar21 + -0x6690) = 0;\n    *(undefined4 *)(puVar21 + -0x668c) = 0;\n    *(undefined4 *)(puVar21 + -0x6688) = 0;\n    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);\n    unaff_s2 = puVar21;\n    unaff_s3 = puVar21;\n    unaff_s4 = puVar21;\n    unaff_s5 = puVar21;\n    unaff_s6 = puVar21;\n    unaff_s7 = puVar21;\n    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }\n  }" ({ "{") (expression_statement "local_30 = 0;" (assignment_expression "local_30 = 0" (identifier "local_30") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;" (assignment_expression "*(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0" (pointer_expression "*(undefined4 *)(PTR___environ_00145154 + -0x66a0)" (* "*") (cast_expression "(undefined4 *)(PTR___environ_00145154 + -0x66a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR___environ_00145154 + -0x66a0)" (( "(") (binary_expression "PTR___environ_00145154 + -0x66a0" (identifier "PTR___environ_00145154") (+ "+") (number_literal "-0x66a0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x669c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x669c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x669c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x669c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x669c)" (( "(") (binary_expression "puVar21 + -0x669c" (identifier "puVar21") (+ "+") (number_literal "-0x669c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x6698) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6698) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6698)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6698)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6698)" (( "(") (binary_expression "puVar21 + -0x6698" (identifier "puVar21") (+ "+") (number_literal "-0x6698")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x6694) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6694) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6694)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6694)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6694)" (( "(") (binary_expression "puVar21 + -0x6694" (identifier "puVar21") (+ "+") (number_literal "-0x6694")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x6690) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6690) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6690)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6690)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6690)" (( "(") (binary_expression "puVar21 + -0x6690" (identifier "puVar21") (+ "+") (number_literal "-0x6690")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x668c) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x668c) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x668c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x668c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x668c)" (( "(") (binary_expression "puVar21 + -0x668c" (identifier "puVar21") (+ "+") (number_literal "-0x668c")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar21 + -0x6688) = 0;" (assignment_expression "*(undefined4 *)(puVar21 + -0x6688) = 0" (pointer_expression "*(undefined4 *)(puVar21 + -0x6688)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6688)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6688)" (( "(") (binary_expression "puVar21 + -0x6688" (identifier "puVar21") (+ "+") (number_literal "-0x6688")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);" (assignment_expression "iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30)" (identifier "iVar8") (= "=") (call_expression "FUN_000ccdc8(param_1,0,&local_34,&local_30)" (identifier "FUN_000ccdc8") (argument_list "(param_1,0,&local_34,&local_30)" (( "(") (identifier "param_1") (, ",") (number_literal "0") (, ",") (pointer_expression "&local_34" (& "&") (identifier "local_34")) (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (expression_statement "unaff_s2 = puVar21;" (assignment_expression "unaff_s2 = puVar21" (identifier "unaff_s2") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "unaff_s3 = puVar21;" (assignment_expression "unaff_s3 = puVar21" (identifier "unaff_s3") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "unaff_s4 = puVar21;" (assignment_expression "unaff_s4 = puVar21" (identifier "unaff_s4") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "unaff_s5 = puVar21;" (assignment_expression "unaff_s5 = puVar21" (identifier "unaff_s5") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "unaff_s6 = puVar21;" (assignment_expression "unaff_s6 = puVar21" (identifier "unaff_s6") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "unaff_s7 = puVar21;" (assignment_expression "unaff_s7 = puVar21" (identifier "unaff_s7") (= "=") (identifier "puVar21")) (; ";")) (if_statement "if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }" (if "if") (parenthesized_expression "((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1))" (( "(") (binary_expression "(iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)" (parenthesized_expression "(iVar8 != 0x102)" (( "(") (binary_expression "iVar8 != 0x102" (identifier "iVar8") (!= "!=") (number_literal "0x102")) () ")")) (&& "&&") (parenthesized_expression "(bVar1 = iVar8 != 1, iVar8 = 0, bVar1)" (( "(") (comma_expression "bVar1 = iVar8 != 1, iVar8 = 0, bVar1" (assignment_expression "bVar1 = iVar8 != 1" (identifier "bVar1") (= "=") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1"))) (, ",") (comma_expression "iVar8 = 0, bVar1" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (, ",") (identifier "bVar1"))) () ")"))) () ")")) (compound_statement "{\n      if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }\n      if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }\n      if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }\n      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();\n      iVar8 = *(int *)(puVar21 + -0x6688);\n      unaff_s8[1] = local_34;\n      unaff_s8[2] = local_30;\n      *unaff_s8 = 1;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }\n      iVar14 = *(int *)(puVar21 + -0x668c);\n      unaff_s8[3] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6690);\n      unaff_s8[4] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }\n      iVar14 = *(int *)(puVar21 + -0x6694);\n      unaff_s8[5] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }\n      iVar8 = *(int *)(puVar21 + -0x669c);\n      unaff_s8[6] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }\n      iVar14 = *(int *)(puVar21 + -0x66a0);\n      unaff_s8[7] = iVar8;\n      if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }\n      iVar8 = *(int *)(puVar21 + -0x6698);\n      unaff_s8[8] = iVar14;\n      if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }\n      puVar21 = PTR_gen_compspec_completions_00145844;\n      unaff_s2 = PTR_pcomp_ind_00145820;\n      unaff_s3 = PTR_pcomp_line_0014581c;\n      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;\n      puVar16 = PTR_DAT_001445ac + -0x74e8;\n      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;\n      unaff_s8[10] = iVar8;\n      local_4c = 0;\n      local_50 = 0;\n      *(undefined4 *)unaff_s3 = 0;\n      *(undefined4 *)unaff_s2 = 0;\n      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);\n      *(undefined **)unaff_s3 = unaff_s5;\n      *(undefined **)unaff_s2 = unaff_s4;\n      if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }\n      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);\n      piStack_84 = piVar11;\n    }" ({ "{") (if_statement "if ((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))\n      {\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }\n      else {\n        local_3c = (undefined *)*puVar9;\n      }" (if "if") (parenthesized_expression "((*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))" (( "(") (binary_expression "(*(int *)PTR_loptend_00145864 == 0) ||\n         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0)" (parenthesized_expression "(*(int *)PTR_loptend_00145864 == 0)" (( "(") (binary_expression "*(int *)PTR_loptend_00145864 == 0" (pointer_expression "*(int *)PTR_loptend_00145864" (* "*") (cast_expression "(int *)PTR_loptend_00145864" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_loptend_00145864"))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0)" (( "(") (comma_expression "puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0" (assignment_expression "puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" (* "*") (cast_expression "(undefined4 **)(*(int *)PTR_loptend_00145864 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)PTR_loptend_00145864 + 4)" (( "(") (binary_expression "*(int *)PTR_loptend_00145864 + 4" (pointer_expression "*(int *)PTR_loptend_00145864" (* "*") (cast_expression "(int *)PTR_loptend_00145864" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_loptend_00145864"))) (+ "+") (number_literal "4")) () ")"))))) (, ",") (binary_expression "puVar9 == (undefined4 *)0x0" (identifier "puVar9") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n        local_3c = PTR_DAT_001445ac + -0x6800;\n      }" ({ "{") (expression_statement "local_3c = PTR_DAT_001445ac + -0x6800;" (assignment_expression "local_3c = PTR_DAT_001445ac + -0x6800" (identifier "local_3c") (= "=") (binary_expression "PTR_DAT_001445ac + -0x6800" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x6800"))) (; ";")) (} "}")) (else_clause "else {\n        local_3c = (undefined *)*puVar9;\n      }" (else "else") (compound_statement "{\n        local_3c = (undefined *)*puVar9;\n      }" ({ "{") (expression_statement "local_3c = (undefined *)*puVar9;" (assignment_expression "local_3c = (undefined *)*puVar9" (identifier "local_3c") (= "=") (cast_expression "(undefined *)*puVar9" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) (; ";")) (} "}")))) (if_statement "if (*(int *)(puVar21 + -0x669c) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar21 + -0x669c) != 0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x669c) != 0" (pointer_expression "*(int *)(puVar21 + -0x669c)" (* "*") (cast_expression "(int *)(puVar21 + -0x669c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x669c)" (( "(") (binary_expression "puVar21 + -0x669c" (identifier "puVar21") (+ "+") (number_literal "-0x669c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);\n        builtin_error(uVar10);\n      }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00146498" (* "*") (cast_expression "(code *)PTR_dcgettext_00146498" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00146498"))) () ")")) (argument_list "(0,PTR_DAT_001445ac + -0x5658,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_001445ac + -0x5658" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x5658")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" (identifier "builtin_error") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(puVar21 + -0x66a0) != 0) {\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar21 + -0x66a0) != 0)" (( "(") (binary_expression "*(int *)(puVar21 + -0x66a0) != 0" (pointer_expression "*(int *)(puVar21 + -0x66a0)" (* "*") (cast_expression "(int *)(puVar21 + -0x66a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x66a0)" (( "(") (binary_expression "puVar21 + -0x66a0" (identifier "puVar21") (+ "+") (number_literal "-0x66a0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);\n        builtin_error(uVar10);\n      }" ({ "{") (expression_statement "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);" (assignment_expression "uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00146498" (* "*") (cast_expression "(code *)PTR_dcgettext_00146498" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00146498"))) () ")")) (argument_list "(0,PTR_DAT_001445ac + -0x5628,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_001445ac + -0x5628" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x5628")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" (identifier "builtin_error") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (expression_statement "unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();" (assignment_expression "unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)()" (identifier "unaff_s8") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR_compspec_create_00145828)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_compspec_create_00145828)()" (parenthesized_expression "(*(code *)PTR_compspec_create_00145828)" (( "(") (pointer_expression "*(code *)PTR_compspec_create_00145828" (* "*") (cast_expression "(code *)PTR_compspec_create_00145828" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_compspec_create_00145828"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6688);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6688)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar21 + -0x6688)" (* "*") (cast_expression "(int *)(puVar21 + -0x6688)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6688)" (( "(") (binary_expression "puVar21 + -0x6688" (identifier "puVar21") (+ "+") (number_literal "-0x6688")) () ")"))))) (; ";")) (expression_statement "unaff_s8[1] = local_34;" (assignment_expression "unaff_s8[1] = local_34" (subscript_expression "unaff_s8[1]" (identifier "unaff_s8") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "unaff_s8[2] = local_30;" (assignment_expression "unaff_s8[2] = local_30" (subscript_expression "unaff_s8[2]" (identifier "unaff_s8") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_30")) (; ";")) (expression_statement "*unaff_s8 = 1;" (assignment_expression "*unaff_s8 = 1" (pointer_expression "*unaff_s8" (* "*") (identifier "unaff_s8")) (= "=") (number_literal "1")) (; ";")) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688))" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6688))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x6688)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6688)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6688)" (( "(") (binary_expression "puVar21 + -0x6688" (identifier "puVar21") (+ "+") (number_literal "-0x6688")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(puVar21 + -0x668c);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x668c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar21 + -0x668c)" (* "*") (cast_expression "(int *)(puVar21 + -0x668c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x668c)" (( "(") (binary_expression "puVar21 + -0x668c" (identifier "puVar21") (+ "+") (number_literal "-0x668c")) () ")"))))) (; ";")) (expression_statement "unaff_s8[3] = iVar8;" (assignment_expression "unaff_s8[3] = iVar8" (subscript_expression "unaff_s8[3]" (identifier "unaff_s8") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c))" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x668c))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x668c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x668c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x668c)" (( "(") (binary_expression "puVar21 + -0x668c" (identifier "puVar21") (+ "+") (number_literal "-0x668c")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6690);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6690)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar21 + -0x6690)" (* "*") (cast_expression "(int *)(puVar21 + -0x6690)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6690)" (( "(") (binary_expression "puVar21 + -0x6690" (identifier "puVar21") (+ "+") (number_literal "-0x6690")) () ")"))))) (; ";")) (expression_statement "unaff_s8[4] = iVar14;" (assignment_expression "unaff_s8[4] = iVar14" (subscript_expression "unaff_s8[4]" (identifier "unaff_s8") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690))" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6690))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x6690)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6690)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6690)" (( "(") (binary_expression "puVar21 + -0x6690" (identifier "puVar21") (+ "+") (number_literal "-0x6690")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(puVar21 + -0x6694);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x6694)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar21 + -0x6694)" (* "*") (cast_expression "(int *)(puVar21 + -0x6694)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6694)" (( "(") (binary_expression "puVar21 + -0x6694" (identifier "puVar21") (+ "+") (number_literal "-0x6694")) () ")"))))) (; ";")) (expression_statement "unaff_s8[5] = iVar8;" (assignment_expression "unaff_s8[5] = iVar8" (subscript_expression "unaff_s8[5]" (identifier "unaff_s8") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694))" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6694))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x6694)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6694)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6694)" (( "(") (binary_expression "puVar21 + -0x6694" (identifier "puVar21") (+ "+") (number_literal "-0x6694")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)(puVar21 + -0x669c);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x669c)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar21 + -0x669c)" (* "*") (cast_expression "(int *)(puVar21 + -0x669c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x669c)" (( "(") (binary_expression "puVar21 + -0x669c" (identifier "puVar21") (+ "+") (number_literal "-0x669c")) () ")"))))) (; ";")) (expression_statement "unaff_s8[6] = iVar14;" (assignment_expression "unaff_s8[6] = iVar14" (subscript_expression "unaff_s8[6]" (identifier "unaff_s8") ([ "[") (number_literal "6") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c))" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x669c))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x669c)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x669c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x669c)" (( "(") (binary_expression "puVar21 + -0x669c" (identifier "puVar21") (+ "+") (number_literal "-0x669c")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar14 = *(int *)(puVar21 + -0x66a0);" (assignment_expression "iVar14 = *(int *)(puVar21 + -0x66a0)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar21 + -0x66a0)" (* "*") (cast_expression "(int *)(puVar21 + -0x66a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x66a0)" (( "(") (binary_expression "puVar21 + -0x66a0" (identifier "puVar21") (+ "+") (number_literal "-0x66a0")) () ")"))))) (; ";")) (expression_statement "unaff_s8[7] = iVar8;" (assignment_expression "unaff_s8[7] = iVar8" (subscript_expression "unaff_s8[7]" (identifier "unaff_s8") ([ "[") (number_literal "7") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar14 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }" (if "if") (parenthesized_expression "(iVar14 != 0)" (( "(") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)();\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)();" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)()" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)()" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));" (assignment_expression "iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" (identifier "iVar14") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x66a0))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x66a0)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x66a0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x66a0)" (( "(") (binary_expression "puVar21 + -0x66a0" (identifier "puVar21") (+ "+") (number_literal "-0x66a0")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)(puVar21 + -0x6698);" (assignment_expression "iVar8 = *(int *)(puVar21 + -0x6698)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(puVar21 + -0x6698)" (* "*") (cast_expression "(int *)(puVar21 + -0x6698)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6698)" (( "(") (binary_expression "puVar21 + -0x6698" (identifier "puVar21") (+ "+") (number_literal "-0x6698")) () ")"))))) (; ";")) (expression_statement "unaff_s8[8] = iVar14;" (assignment_expression "unaff_s8[8] = iVar14" (subscript_expression "unaff_s8[8]" (identifier "unaff_s8") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "iVar14")) (; ";")) (if_statement "if (iVar8 != 0) {\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);\n        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);\n        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));\n      }" ({ "{") (expression_statement "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_00146390)(iVar8)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)(iVar8)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";")) (expression_statement "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);" (assignment_expression "uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar8 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));" (assignment_expression "iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698))" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698))" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar10,*(undefined4 *)(puVar21 + -0x6698))" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)(puVar21 + -0x6698)" (* "*") (cast_expression "(undefined4 *)(puVar21 + -0x6698)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + -0x6698)" (( "(") (binary_expression "puVar21 + -0x6698" (identifier "puVar21") (+ "+") (number_literal "-0x6698")) () ")")))) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar21 = PTR_gen_compspec_completions_00145844;" (assignment_expression "puVar21 = PTR_gen_compspec_completions_00145844" (identifier "puVar21") (= "=") (identifier "PTR_gen_compspec_completions_00145844")) (; ";")) (expression_statement "unaff_s2 = PTR_pcomp_ind_00145820;" (assignment_expression "unaff_s2 = PTR_pcomp_ind_00145820" (identifier "unaff_s2") (= "=") (identifier "PTR_pcomp_ind_00145820")) (; ";")) (expression_statement "unaff_s3 = PTR_pcomp_line_0014581c;" (assignment_expression "unaff_s3 = PTR_pcomp_line_0014581c" (identifier "unaff_s3") (= "=") (identifier "PTR_pcomp_line_0014581c")) (; ";")) (expression_statement "unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;" (assignment_expression "unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c" (identifier "unaff_s5") (= "=") (pointer_expression "*(undefined **)PTR_pcomp_line_0014581c" (* "*") (cast_expression "(undefined **)PTR_pcomp_line_0014581c" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_pcomp_line_0014581c")))) (; ";")) (expression_statement "puVar16 = PTR_DAT_001445ac + -0x74e8;" (assignment_expression "puVar16 = PTR_DAT_001445ac + -0x74e8" (identifier "puVar16") (= "=") (binary_expression "PTR_DAT_001445ac + -0x74e8" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x74e8"))) (; ";")) (expression_statement "unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;" (assignment_expression "unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820" (identifier "unaff_s4") (= "=") (pointer_expression "*(undefined **)PTR_pcomp_ind_00145820" (* "*") (cast_expression "(undefined **)PTR_pcomp_ind_00145820" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_pcomp_ind_00145820")))) (; ";")) (expression_statement "unaff_s8[10] = iVar8;" (assignment_expression "unaff_s8[10] = iVar8" (subscript_expression "unaff_s8[10]" (identifier "unaff_s8") ([ "[") (number_literal "10") (] "]")) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)unaff_s3 = 0;" (assignment_expression "*(undefined4 *)unaff_s3 = 0" (pointer_expression "*(undefined4 *)unaff_s3" (* "*") (cast_expression "(undefined4 *)unaff_s3" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s3"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)unaff_s2 = 0;" (assignment_expression "*(undefined4 *)unaff_s2 = 0" (pointer_expression "*(undefined4 *)unaff_s2" (* "*") (cast_expression "(undefined4 *)unaff_s2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s2"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);" (assignment_expression "piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0)" (parenthesized_expression "(*(code *)puVar21)" (( "(") (pointer_expression "*(code *)puVar21" (* "*") (cast_expression "(code *)puVar21" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar21"))) () ")")) (argument_list "(unaff_s8,puVar16,local_3c,0)" (( "(") (identifier "unaff_s8") (, ",") (identifier "puVar16") (, ",") (identifier "local_3c") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "*(undefined **)unaff_s3 = unaff_s5;" (assignment_expression "*(undefined **)unaff_s3 = unaff_s5" (pointer_expression "*(undefined **)unaff_s3" (* "*") (cast_expression "(undefined **)unaff_s3" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s3"))) (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "*(undefined **)unaff_s2 = unaff_s4;" (assignment_expression "*(undefined **)unaff_s2 = unaff_s4" (pointer_expression "*(undefined **)unaff_s2" (* "*") (cast_expression "(undefined **)unaff_s2" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s2"))) (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (piVar11 == (int *)0x0) {\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }\n      else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }\n        iVar8 = 1;\n        if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }\n      }" ({ "{") (if_statement "if ((local_30 & 0x40) != 0) {\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" (if "if") (parenthesized_expression "((local_30 & 0x40) != 0)" (( "(") (binary_expression "(local_30 & 0x40) != 0" (parenthesized_expression "(local_30 & 0x40)" (( "(") (binary_expression "local_30 & 0x40" (identifier "local_30") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cdfa0:\n          local_50 = 0;\n          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }\n        }" ({ "{") (labeled_statement "LAB_000cdfa0:\n          local_50 = 0;" (statement_identifier "LAB_000cdfa0") (: ":") (expression_statement "local_50 = 0;" (assignment_expression "local_50 = 0" (identifier "local_50") (= "=") (number_literal "0")) (; ";"))) (expression_statement "uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);" (assignment_expression "uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0)" (parenthesized_expression "(*(code *)PTR_bash_default_completion_001456ec)" (( "(") (pointer_expression "*(code *)PTR_bash_default_completion_001456ec" (* "*") (cast_expression "(code *)PTR_bash_default_completion_001456ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_bash_default_completion_001456ec"))) () ")")) (argument_list "(local_3c,0,0,0)" (( "(") (identifier "local_3c") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (expression_statement "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (parenthesized_expression "(*(code *)PTR_completions_to_stringlist_00145800)" (( "(") (pointer_expression "*(code *)PTR_completions_to_stringlist_00145800" (* "*") (cast_expression "(code *)PTR_completions_to_stringlist_00145800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_completions_to_stringlist_00145800"))) () ")")) (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))))) (; ";")) (expression_statement "strvec_dispose(uVar10);" (call_expression "strvec_dispose(uVar10)" (identifier "strvec_dispose") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (piVar11[2] != 0) goto LAB_000cdee4;\n            goto LAB_000cde58;\n          }" ({ "{") (if_statement "if (piVar11[2] != 0) goto LAB_000cdee4;" (if "if") (parenthesized_expression "(piVar11[2] != 0)" (( "(") (binary_expression "piVar11[2] != 0" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cdee4;" (goto "goto") (statement_identifier "LAB_000cdee4") (; ";"))) (goto_statement "goto LAB_000cde58;" (goto "goto") (statement_identifier "LAB_000cde58") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((local_30 & 2) != 0) {\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }" (if "if") (parenthesized_expression "((local_30 & 2) != 0)" (( "(") (binary_expression "(local_30 & 2) != 0" (parenthesized_expression "(local_30 & 2)" (( "(") (binary_expression "local_30 & 2" (identifier "local_30") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar11 = (int *)0x0;\nLAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);\n          strlist_dispose(piVar11);\n          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);\n          strvec_dispose(uVar10);\n          if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }\n          iVar8 = 1;\n        }" ({ "{") (expression_statement "piVar11 = (int *)0x0;" (assignment_expression "piVar11 = (int *)0x0" (identifier "piVar11") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000cdf2c:\n          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);" (statement_identifier "LAB_000cdf2c") (: ":") (expression_statement "uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480);" (assignment_expression "uVar10 = (*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480)" (identifier "uVar10") (= "=") (call_expression "(*(code *)PTR_rl_completion_matches_00145584)\n                             (local_3c,PTR_rl_filename_completion_function_00145480)" (parenthesized_expression "(*(code *)PTR_rl_completion_matches_00145584)" (( "(") (pointer_expression "*(code *)PTR_rl_completion_matches_00145584" (* "*") (cast_expression "(code *)PTR_rl_completion_matches_00145584" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_completion_matches_00145584"))) () ")")) (argument_list "(local_3c,PTR_rl_filename_completion_function_00145480)" (( "(") (identifier "local_3c") (, ",") (identifier "PTR_rl_filename_completion_function_00145480") () ")")))) (; ";"))) (expression_statement "strlist_dispose(piVar11);" (call_expression "strlist_dispose(piVar11)" (identifier "strlist_dispose") (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")"))) (; ";")) (expression_statement "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);" (assignment_expression "piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_completions_to_stringlist_00145800)(uVar10)" (parenthesized_expression "(*(code *)PTR_completions_to_stringlist_00145800)" (( "(") (pointer_expression "*(code *)PTR_completions_to_stringlist_00145800" (* "*") (cast_expression "(code *)PTR_completions_to_stringlist_00145800" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_completions_to_stringlist_00145800"))) () ")")) (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))))) (; ";")) (expression_statement "strvec_dispose(uVar10);" (call_expression "strvec_dispose(uVar10)" (identifier "strvec_dispose") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            iVar8 = 1;\n            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;\n            goto LAB_000cde64;\n          }" ({ "{") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;" (if "if") (parenthesized_expression "((*piVar11 != 0) && (piVar11[2] != 0))" (( "(") (binary_expression "(*piVar11 != 0) && (piVar11[2] != 0)" (parenthesized_expression "(*piVar11 != 0)" (( "(") (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(piVar11[2] != 0)" (( "(") (binary_expression "piVar11[2] != 0" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000cdef0;" (goto "goto") (statement_identifier "LAB_000cdef0") (; ";"))) (goto_statement "goto LAB_000cde64;" (goto "goto") (statement_identifier "LAB_000cde64") (; ";")) (} "}"))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" (else "else") (compound_statement "{\n        if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }\n        iVar8 = 1;\nLAB_000cde64:\n        strlist_dispose(piVar11);\n      }" ({ "{") (if_statement "if (piVar11[2] == 0) {\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }\n        else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" (if "if") (parenthesized_expression "(piVar11[2] == 0)" (( "(") (binary_expression "piVar11[2] == 0" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;\nLAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;\n        }" ({ "{") (if_statement "if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;" (if "if") (parenthesized_expression "((local_30 & 0x40) != 0)" (( "(") (binary_expression "(local_30 & 0x40) != 0" (parenthesized_expression "(local_30 & 0x40)" (( "(") (binary_expression "local_30 & 0x40" (identifier "local_30") (& "&") (number_literal "0x40")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cdfa0;" (goto "goto") (statement_identifier "LAB_000cdfa0") (; ";"))) (labeled_statement "LAB_000cde58:\n          if ((local_30 & 2) != 0) goto LAB_000cdf2c;" (statement_identifier "LAB_000cde58") (: ":") (if_statement "if ((local_30 & 2) != 0) goto LAB_000cdf2c;" (if "if") (parenthesized_expression "((local_30 & 2) != 0)" (( "(") (binary_expression "(local_30 & 2) != 0" (parenthesized_expression "(local_30 & 2)" (( "(") (binary_expression "local_30 & 2" (identifier "local_30") (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000cdf2c;" (goto "goto") (statement_identifier "LAB_000cdf2c") (; ";")))) (} "}")) (else_clause "else {\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" (else "else") (compound_statement "{\nLAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }\n        }" ({ "{") (labeled_statement "LAB_000cdee4:\n          if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" (statement_identifier "LAB_000cdee4") (: ":") (if_statement "if (*piVar11 != 0) {\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" (if "if") (parenthesized_expression "(*piVar11 != 0)" (( "(") (binary_expression "*piVar11 != 0" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000cdef0:\n            strlist_print(piVar11,0);\n            iVar8 = 0;\n            goto LAB_000cde64;\n          }" ({ "{") (labeled_statement "LAB_000cdef0:\n            strlist_print(piVar11,0);" (statement_identifier "LAB_000cdef0") (: ":") (expression_statement "strlist_print(piVar11,0);" (call_expression "strlist_print(piVar11,0)" (identifier "strlist_print") (argument_list "(piVar11,0)" (( "(") (identifier "piVar11") (, ",") (number_literal "0") () ")"))) (; ";"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_000cde64;" (goto "goto") (statement_identifier "LAB_000cde64") (; ";")) (} "}")))) (} "}")))) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000cde64:\n        strlist_dispose(piVar11);" (statement_identifier "LAB_000cde64") (: ":") (expression_statement "strlist_dispose(piVar11);" (call_expression "strlist_dispose(piVar11)" (identifier "strlist_dispose") (argument_list "(piVar11)" (( "(") (identifier "piVar11") () ")"))) (; ";"))) (} "}")))) (expression_statement "(*(code *)PTR_compspec_dispose_00145830)(unaff_s8);" (call_expression "(*(code *)PTR_compspec_dispose_00145830)(unaff_s8)" (parenthesized_expression "(*(code *)PTR_compspec_dispose_00145830)" (( "(") (pointer_expression "*(code *)PTR_compspec_dispose_00145830" (* "*") (cast_expression "(code *)PTR_compspec_dispose_00145830" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_compspec_dispose_00145830"))) () ")")) (argument_list "(unaff_s8)" (( "(") (identifier "unaff_s8") () ")"))) (; ";")) (expression_statement "piStack_84 = piVar11;" (assignment_expression "piStack_84 = piVar11" (identifier "piStack_84") (= "=") (identifier "piVar11")) (; ";")) (} "}"))) (} "}")))) (if_statement "if (local_2c == *(int *)puVar5) {\n    return iVar8;\n  }" (if "if") (parenthesized_expression "(local_2c == *(int *)puVar5)" (( "(") (binary_expression "local_2c == *(int *)puVar5" (identifier "local_2c") (== "==") (pointer_expression "*(int *)puVar5" (* "*") (cast_expression "(int *)puVar5" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar5")))) () ")")) (compound_statement "{\n    return iVar8;\n  }" ({ "{") (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}"))) (expression_statement "pcVar22 = compopt_builtin;" (assignment_expression "pcVar22 = compopt_builtin" (identifier "pcVar22") (= "=") (identifier "compopt_builtin")) (; ";")) (expression_statement "iVar8 = local_2c;" (assignment_expression "iVar8 = local_2c" (identifier "iVar8") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar21 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar21 = PTR___stack_chk_fail_00146488" (identifier "puVar21") (= "=") (identifier "PTR___stack_chk_fail_00146488")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00146488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00146488"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar9 = *(undefined4 **)(puVar21 + 0x784cc);" (assignment_expression "puVar9 = *(undefined4 **)(puVar21 + 0x784cc)" (identifier "puVar9") (= "=") (pointer_expression "*(undefined4 **)(puVar21 + 0x784cc)" (* "*") (cast_expression "(undefined4 **)(puVar21 + 0x784cc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x784cc)" (( "(") (binary_expression "puVar21 + 0x784cc" (identifier "puVar21") (+ "+") (number_literal "0x784cc")) () ")"))))) (; ";")) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" (identifier "bVar2") (= "=") (false "false")) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (expression_statement "puStack_88 = puVar5;" (assignment_expression "puStack_88 = puVar5" (identifier "puStack_88") (= "=") (identifier "puVar5")) (; ";")) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" (identifier "uStack_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_94 = 0;" (assignment_expression "uStack_94 = 0" (identifier "uStack_94") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcStack_8c = (char *)*puVar9;" (assignment_expression "pcStack_8c = (char *)*puVar9" (identifier "pcStack_8c") (= "=") (cast_expression "(char *)*puVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) (; ";")) (expression_statement "iVar14 = *(int *)(puVar21 + 0x7659c);" (assignment_expression "iVar14 = *(int *)(puVar21 + 0x7659c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar21 + 0x7659c)" (* "*") (cast_expression "(int *)(puVar21 + 0x7659c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x7659c)" (( "(") (binary_expression "puVar21 + 0x7659c" (identifier "puVar21") (+ "+") (number_literal "0x7659c")) () ")"))))) (; ";")) (expression_statement "piVar11 = *(int **)(puVar21 + 0x778e0);" (assignment_expression "piVar11 = *(int **)(puVar21 + 0x778e0)" (identifier "piVar11") (= "=") (pointer_expression "*(int **)(puVar21 + 0x778e0)" (* "*") (cast_expression "(int **)(puVar21 + 0x778e0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x778e0)" (( "(") (binary_expression "puVar21 + 0x778e0" (identifier "puVar21") (+ "+") (number_literal "0x778e0")) () ")"))))) (; ";")) (expression_statement "puStack_80 = unaff_s2;" (assignment_expression "puStack_80 = unaff_s2" (identifier "puStack_80") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "puStack_7c = unaff_s3;" (assignment_expression "puStack_7c = unaff_s3" (identifier "puStack_7c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "puStack_78 = unaff_s4;" (assignment_expression "puStack_78 = unaff_s4" (identifier "puStack_78") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "puStack_74 = unaff_s5;" (assignment_expression "puStack_74 = unaff_s5" (identifier "puStack_74") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "puStack_70 = unaff_s6;" (assignment_expression "puStack_70 = unaff_s6" (identifier "puStack_70") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "puStack_6c = unaff_s7;" (assignment_expression "puStack_6c = unaff_s7" (identifier "puStack_6c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "puStack_68 = unaff_s8;" (assignment_expression "puStack_68 = unaff_s8" (identifier "puStack_68") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_64 = pcVar22;" (assignment_expression "pcStack_64 = pcVar22" (identifier "pcStack_64") (= "=") (identifier "pcVar22")) (; ";")) (expression_statement "reset_internal_getopt();" (call_expression "reset_internal_getopt()" (identifier "reset_internal_getopt") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar19 = *(int *)(puVar21 + 0x76558);" (assignment_expression "iVar19 = *(int *)(puVar21 + 0x76558)" (identifier "iVar19") (= "=") (pointer_expression "*(int *)(puVar21 + 0x76558)" (* "*") (cast_expression "(int *)(puVar21 + 0x76558)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x76558)" (( "(") (binary_expression "puVar21 + 0x76558" (identifier "puVar21") (+ "+") (number_literal "0x76558")) () ")"))))) (; ";")) (labeled_statement "LAB_000ce098:\n  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (statement_identifier "LAB_000ce098") (: ":") (expression_statement "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (assignment_expression "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8)" (identifier "iVar12") (= "=") (call_expression "internal_getopt(iVar8,iVar14 + -0x55f8)" (identifier "internal_getopt") (argument_list "(iVar8,iVar14 + -0x55f8)" (( "(") (identifier "iVar8") (, ",") (binary_expression "iVar14 + -0x55f8" (identifier "iVar14") (+ "+") (number_literal "-0x55f8")) () ")")))) (; ";"))) (if_statement "if (iVar12 != -1) {\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" (if "if") (parenthesized_expression "(iVar12 != -1)" (( "(") (binary_expression "iVar12 != -1" (identifier "iVar12") (!= "!=") (number_literal "-1")) () ")")) (compound_statement "{\n    while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }\n    if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }\n    goto LAB_000ce098;\n  }" ({ "{") (while_statement "while( true ) {\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }\n      if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }\n      if (0x45 < iVar12) break;\n      if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }\n      if (iVar12 != 0x44) goto LAB_000ce280;\n      bVar1 = true;\n      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);\n      if (iVar12 == -1) goto LAB_000ce108;\n    }" ({ "{") (if_statement "if (*piVar11 == 0x2d) {\n        puVar17 = &uStack_94;\n      }\n      else {\n        puVar17 = &uStack_90;\n      }" (if "if") (parenthesized_expression "(*piVar11 == 0x2d)" (( "(") (binary_expression "*piVar11 == 0x2d" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (== "==") (number_literal "0x2d")) () ")")) (compound_statement "{\n        puVar17 = &uStack_94;\n      }" ({ "{") (expression_statement "puVar17 = &uStack_94;" (assignment_expression "puVar17 = &uStack_94" (identifier "puVar17") (= "=") (pointer_expression "&uStack_94" (& "&") (identifier "uStack_94"))) (; ";")) (} "}")) (else_clause "else {\n        puVar17 = &uStack_90;\n      }" (else "else") (compound_statement "{\n        puVar17 = &uStack_90;\n      }" ({ "{") (expression_statement "puVar17 = &uStack_90;" (assignment_expression "puVar17 = &uStack_90" (identifier "puVar17") (= "=") (pointer_expression "&uStack_90" (& "&") (identifier "uStack_90"))) (; ";")) (} "}")))) (if_statement "if (iVar12 == 0x45) {\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" (if "if") (parenthesized_expression "(iVar12 == 0x45)" (( "(") (binary_expression "iVar12 == 0x45" (identifier "iVar12") (== "==") (number_literal "0x45")) () ")")) (compound_statement "{\n        bVar2 = true;\n        goto LAB_000ce098;\n      }" ({ "{") (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" (identifier "bVar2") (= "=") (true "true")) (; ";")) (goto_statement "goto LAB_000ce098;" (goto "goto") (statement_identifier "LAB_000ce098") (; ";")) (} "}"))) (if_statement "if (0x45 < iVar12) break;" (if "if") (parenthesized_expression "(0x45 < iVar12)" (( "(") (binary_expression "0x45 < iVar12" (number_literal "0x45") (< "<") (identifier "iVar12")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (iVar12 == -99) {\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" (if "if") (parenthesized_expression "(iVar12 == -99)" (( "(") (binary_expression "iVar12 == -99" (identifier "iVar12") (== "==") (number_literal "-99")) () ")")) (compound_statement "{\n        iVar8 = 0x102;\n        builtin_help();\n        goto LAB_000ce240;\n      }" ({ "{") (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" (identifier "iVar8") (= "=") (number_literal "0x102")) (; ";")) (expression_statement "builtin_help();" (call_expression "builtin_help()" (identifier "builtin_help") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000ce240;" (goto "goto") (statement_identifier "LAB_000ce240") (; ";")) (} "}"))) (if_statement "if (iVar12 != 0x44) goto LAB_000ce280;" (if "if") (parenthesized_expression "(iVar12 != 0x44)" (( "(") (binary_expression "iVar12 != 0x44" (identifier "iVar12") (!= "!=") (number_literal "0x44")) () ")")) (goto_statement "goto LAB_000ce280;" (goto "goto") (statement_identifier "LAB_000ce280") (; ";"))) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);" (assignment_expression "iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8)" (identifier "iVar12") (= "=") (call_expression "internal_getopt(iVar8,iVar14 + -0x55f8)" (identifier "internal_getopt") (argument_list "(iVar8,iVar14 + -0x55f8)" (( "(") (identifier "iVar8") (, ",") (binary_expression "iVar14 + -0x55f8" (identifier "iVar14") (+ "+") (number_literal "-0x55f8")) () ")")))) (; ";")) (if_statement "if (iVar12 == -1) goto LAB_000ce108;" (if "if") (parenthesized_expression "(iVar12 == -1)" (( "(") (binary_expression "iVar12 == -1" (identifier "iVar12") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_000ce108;" (goto "goto") (statement_identifier "LAB_000ce108") (; ";"))) (} "}"))) (if_statement "if (iVar12 == 0x49) {\n      bVar3 = true;\n    }\n    else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" (if "if") (parenthesized_expression "(iVar12 == 0x49)" (( "(") (binary_expression "iVar12 == 0x49" (identifier "iVar12") (== "==") (number_literal "0x49")) () ")")) (compound_statement "{\n      bVar3 = true;\n    }" ({ "{") (expression_statement "bVar3 = true;" (assignment_expression "bVar3 = true" (identifier "bVar3") (= "=") (true "true")) (; ";")) (} "}")) (else_clause "else {\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" (else "else") (compound_statement "{\n      if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }\n      uVar10 = **(undefined4 **)(puVar21 + 0x77860);\n      iVar12 = FUN_000cc240(uVar10);\n      if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }\n      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);\n    }" ({ "{") (if_statement "if (iVar12 != 0x6f) {\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" (if "if") (parenthesized_expression "(iVar12 != 0x6f)" (( "(") (binary_expression "iVar12 != 0x6f" (identifier "iVar12") (!= "!=") (number_literal "0x6f")) () ")")) (compound_statement "{\nLAB_000ce280:\n        iVar8 = 0x102;\n        builtin_usage();\n        goto LAB_000ce240;\n      }" ({ "{") (labeled_statement "LAB_000ce280:\n        iVar8 = 0x102;" (statement_identifier "LAB_000ce280") (: ":") (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" (identifier "iVar8") (= "=") (number_literal "0x102")) (; ";"))) (expression_statement "builtin_usage();" (call_expression "builtin_usage()" (identifier "builtin_usage") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_000ce240;" (goto "goto") (statement_identifier "LAB_000ce240") (; ";")) (} "}"))) (expression_statement "uVar10 = **(undefined4 **)(puVar21 + 0x77860);" (assignment_expression "uVar10 = **(undefined4 **)(puVar21 + 0x77860)" (identifier "uVar10") (= "=") (pointer_expression "**(undefined4 **)(puVar21 + 0x77860)" (* "*") (pointer_expression "*(undefined4 **)(puVar21 + 0x77860)" (* "*") (cast_expression "(undefined4 **)(puVar21 + 0x77860)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77860)" (( "(") (binary_expression "puVar21 + 0x77860" (identifier "puVar21") (+ "+") (number_literal "0x77860")) () ")")))))) (; ";")) (expression_statement "iVar12 = FUN_000cc240(uVar10);" (assignment_expression "iVar12 = FUN_000cc240(uVar10)" (identifier "iVar12") (= "=") (call_expression "FUN_000cc240(uVar10)" (identifier "FUN_000cc240") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")")))) (; ";")) (if_statement "if (iVar12 < 0) {\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }" (if "if") (parenthesized_expression "(iVar12 < 0)" (( "(") (binary_expression "iVar12 < 0" (identifier "iVar12") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        iVar8 = 0x102;\n        sh_invalidoptname(uVar10);\n        goto LAB_000ce240;\n      }" ({ "{") (expression_statement "iVar8 = 0x102;" (assignment_expression "iVar8 = 0x102" (identifier "iVar8") (= "=") (number_literal "0x102")) (; ";")) (expression_statement "sh_invalidoptname(uVar10);" (call_expression "sh_invalidoptname(uVar10)" (identifier "sh_invalidoptname") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (goto_statement "goto LAB_000ce240;" (goto "goto") (statement_identifier "LAB_000ce240") (; ";")) (} "}"))) (expression_statement "*puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);" (assignment_expression "*puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (= "=") (binary_expression "*puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (pointer_expression "*puVar17" (* "*") (identifier "puVar17")) (| "|") (pointer_expression "*(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (* "*") (cast_expression "(uint *)(iVar19 + iVar12 * 8 + -0x101c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar19 + iVar12 * 8 + -0x101c)" (( "(") (binary_expression "iVar19 + iVar12 * 8 + -0x101c" (binary_expression "iVar19 + iVar12 * 8" (identifier "iVar19") (+ "+") (binary_expression "iVar12 * 8" (identifier "iVar12") (* "*") (number_literal "8"))) (+ "+") (number_literal "-0x101c")) () ")")))))) (; ";")) (} "}")))) (goto_statement "goto LAB_000ce098;" (goto "goto") (statement_identifier "LAB_000ce098") (; ";")) (} "}"))) (labeled_statement "LAB_000ce108:\n  piVar11 = (int *)**(int **)(puVar21 + 0x77854);" (statement_identifier "LAB_000ce108") (: ":") (expression_statement "piVar11 = (int *)**(int **)(puVar21 + 0x77854);" (assignment_expression "piVar11 = (int *)**(int **)(puVar21 + 0x77854)" (identifier "piVar11") (= "=") (cast_expression "(int *)**(int **)(puVar21 + 0x77854)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(int **)(puVar21 + 0x77854)" (* "*") (pointer_expression "*(int **)(puVar21 + 0x77854)" (* "*") (cast_expression "(int **)(puVar21 + 0x77854)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77854)" (( "(") (binary_expression "puVar21 + 0x77854" (identifier "puVar21") (+ "+") (number_literal "0x77854")) () ")"))))))) (; ";"))) (if_statement "if (bVar1) {\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }\n  else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n    pcVar22 = *(code **)(puVar21 + 0x76af8);\n    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;\nLAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);\n    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);\n    if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }\n    piVar11 = piVar20;\n    if (piVar20 != (int *)0x0) goto LAB_000ce130;\nLAB_000ce360:\n    uVar7 = uStack_90;\n    uVar6 = uStack_94;\n    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }\n  }" ({ "{") (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(puVar21 + 0x76af8)" (* "*") (cast_expression "(code **)(puVar21 + 0x76af8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x76af8)" (( "(") (binary_expression "puVar21 + 0x76af8" (identifier "puVar21") (+ "+") (number_literal "0x76af8")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x65ec" (pointer_expression "*(int *)(puVar21 + 0x76a84)" (* "*") (cast_expression "(int *)(puVar21 + 0x76a84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x76a84)" (( "(") (binary_expression "puVar21 + 0x76a84" (identifier "puVar21") (+ "+") (number_literal "0x76a84")) () ")")))) (+ "+") (number_literal "-0x65ec"))) (; ";")) (labeled_statement "LAB_000ce29c:\n    uVar10 = (*pcVar22)(iVar8);" (statement_identifier "LAB_000ce29c") (: ":") (expression_statement "uVar10 = (*pcVar22)(iVar8);" (assignment_expression "uVar10 = (*pcVar22)(iVar8)" (identifier "uVar10") (= "=") (call_expression "(*pcVar22)(iVar8)" (parenthesized_expression "(*pcVar22)" (( "(") (pointer_expression "*pcVar22" (* "*") (identifier "pcVar22")) () ")")) (argument_list "(iVar8)" (( "(") (identifier "iVar8") () ")")))) (; ";"))) (expression_statement "piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);" (assignment_expression "piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0)" (identifier "piVar20") (= "=") (cast_expression "(int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar21 + 0x765a8))(uVar10,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x765a8))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x765a8)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x765a8)" (* "*") (cast_expression "(code **)(puVar21 + 0x765a8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x765a8)" (( "(") (binary_expression "puVar21 + 0x765a8" (identifier "puVar21") (+ "+") (number_literal "0x765a8")) () ")"))))) () ")")) (argument_list "(uVar10,0)" (( "(") (identifier "uVar10") (, ",") (number_literal "0") () ")"))))) (; ";")) (if_statement "if (piVar11 != (int *)0x0) {\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }" (if "if") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }\n      goto LAB_000ce130;\n    }" ({ "{") (if_statement "if (piVar20 != (int *)0x0) {\n        piVar11 = piVar20;\n      }" (if "if") (parenthesized_expression "(piVar20 != (int *)0x0)" (( "(") (binary_expression "piVar20 != (int *)0x0" (identifier "piVar20") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piVar11 = piVar20;\n      }" ({ "{") (expression_statement "piVar11 = piVar20;" (assignment_expression "piVar11 = piVar20" (identifier "piVar11") (= "=") (identifier "piVar20")) (; ";")) (} "}"))) (goto_statement "goto LAB_000ce130;" (goto "goto") (statement_identifier "LAB_000ce130") (; ";")) (} "}"))) (expression_statement "piVar11 = piVar20;" (assignment_expression "piVar11 = piVar20" (identifier "piVar11") (= "=") (identifier "piVar20")) (; ";")) (if_statement "if (piVar20 != (int *)0x0) goto LAB_000ce130;" (if "if") (parenthesized_expression "(piVar20 != (int *)0x0)" (( "(") (binary_expression "piVar20 != (int *)0x0" (identifier "piVar20") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000ce130;" (goto "goto") (statement_identifier "LAB_000ce130") (; ";"))) (labeled_statement "LAB_000ce360:\n    uVar7 = uStack_90;" (statement_identifier "LAB_000ce360") (: ":") (expression_statement "uVar7 = uStack_90;" (assignment_expression "uVar7 = uStack_90" (identifier "uVar7") (= "=") (identifier "uStack_90")) (; ";"))) (expression_statement "uVar6 = uStack_94;" (assignment_expression "uVar6 = uStack_94" (identifier "uVar6") (= "=") (identifier "uStack_94")) (; ";")) (if_statement "if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }\n    else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" (if "if") (parenthesized_expression "(((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0))" (( "(") (binary_expression "((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||\n       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)" (parenthesized_expression "((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0)" (( "(") (binary_expression "(**(uint **)(puVar21 + 0x76648) & 0x4000) == 0" (parenthesized_expression "(**(uint **)(puVar21 + 0x76648) & 0x4000)" (( "(") (binary_expression "**(uint **)(puVar21 + 0x76648) & 0x4000" (pointer_expression "**(uint **)(puVar21 + 0x76648)" (* "*") (pointer_expression "*(uint **)(puVar21 + 0x76648)" (* "*") (cast_expression "(uint **)(puVar21 + 0x76648)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x76648)" (( "(") (binary_expression "puVar21 + 0x76648" (identifier "puVar21") (+ "+") (number_literal "0x76648")) () ")"))))) (& "&") (number_literal "0x4000")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)" (( "(") (comma_expression "iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0" (assignment_expression "iVar8 = **(int **)(puVar21 + 0x7782c)" (identifier "iVar8") (= "=") (pointer_expression "**(int **)(puVar21 + 0x7782c)" (* "*") (pointer_expression "*(int **)(puVar21 + 0x7782c)" (* "*") (cast_expression "(int **)(puVar21 + 0x7782c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x7782c)" (( "(") (binary_expression "puVar21 + 0x7782c" (identifier "puVar21") (+ "+") (number_literal "0x7782c")) () ")")))))) (, ",") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar8 = 1;\n      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);\n      builtin_error(uVar10);\n    }" ({ "{") (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);" (assignment_expression "uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" (identifier "uVar10") (= "=") (call_expression "(**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" (parenthesized_expression "(**(code **)(puVar21 + 0x78488))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x78488)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x78488)" (* "*") (cast_expression "(code **)(puVar21 + 0x78488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x78488)" (( "(") (binary_expression "puVar21 + 0x78488" (identifier "puVar21") (+ "+") (number_literal "0x78488")) () ")"))))) () ")")) (argument_list "(0,*(int *)(puVar21 + 0x7659c) + -22000,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(puVar21 + 0x7659c) + -22000" (pointer_expression "*(int *)(puVar21 + 0x7659c)" (* "*") (cast_expression "(int *)(puVar21 + 0x7659c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x7659c)" (( "(") (binary_expression "puVar21 + 0x7659c" (identifier "puVar21") (+ "+") (number_literal "0x7659c")) () ")")))) (+ "+") (number_literal "-22000")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "builtin_error(uVar10);" (call_expression "builtin_error(uVar10)" (identifier "builtin_error") (argument_list "(uVar10)" (( "(") (identifier "uVar10") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" (else "else") (compound_statement "{\n      if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);\n      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);\n      iVar8 = 0;\n      (**(code **)(puVar21 + 0x776e4))(uVar6,1);\n      (**(code **)(puVar21 + 0x776e4))(uVar7,0);\n    }" ({ "{") (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }" (if "if") (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" (( "(") (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" (identifier "uStack_94") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uStack_90 == 0" (identifier "uStack_90") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);\n        FUN_000cd290(pcVar15,iVar8 + 8);\n        if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }\n        goto LAB_000ce480;\n      }" ({ "{") (expression_statement "pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);" (assignment_expression "pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830)" (identifier "pcVar15") (= "=") (cast_expression "(char *)**(undefined4 **)(puVar21 + 0x77830)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar21 + 0x77830)" (* "*") (pointer_expression "*(undefined4 **)(puVar21 + 0x77830)" (* "*") (cast_expression "(undefined4 **)(puVar21 + 0x77830)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77830)" (( "(") (binary_expression "puVar21 + 0x77830" (identifier "puVar21") (+ "+") (number_literal "0x77830")) () ")"))))))) (; ";")) (expression_statement "FUN_000cd290(pcVar15,iVar8 + 8);" (call_expression "FUN_000cd290(pcVar15,iVar8 + 8)" (identifier "FUN_000cd290") (argument_list "(pcVar15,iVar8 + 8)" (( "(") (identifier "pcVar15") (, ",") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))) (; ";")) (if_statement "if (pcStack_8c == (char *)*puVar9) {\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }" (if "if") (parenthesized_expression "(pcStack_8c == (char *)*puVar9)" (( "(") (binary_expression "pcStack_8c == (char *)*puVar9" (identifier "pcStack_8c") (== "==") (cast_expression "(char *)*puVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) () ")")) (compound_statement "{\n          iVar8 = sh_chkwrite(0);\n          return iVar8;\n        }" ({ "{") (expression_statement "iVar8 = sh_chkwrite(0);" (assignment_expression "iVar8 = sh_chkwrite(0)" (identifier "iVar8") (= "=") (call_expression "sh_chkwrite(0)" (identifier "sh_chkwrite") (argument_list "(0)" (( "(") (number_literal "0") () ")")))) (; ";")) (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}"))) (goto_statement "goto LAB_000ce480;" (goto "goto") (statement_identifier "LAB_000ce480") (; ";")) (} "}"))) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x77b38)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x77b38)" (* "*") (cast_expression "(code **)(puVar21 + 0x77b38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77b38)" (( "(") (binary_expression "puVar21 + 0x77b38" (identifier "puVar21") (+ "+") (number_literal "0x77b38")) () ")"))))) () ")")) (argument_list "(iVar8,uStack_94,1)" (( "(") (identifier "iVar8") (, ",") (identifier "uStack_94") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x77b38)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x77b38)" (* "*") (cast_expression "(code **)(puVar21 + 0x77b38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77b38)" (( "(") (binary_expression "puVar21 + 0x77b38" (identifier "puVar21") (+ "+") (number_literal "0x77b38")) () ")"))))) () ")")) (argument_list "(iVar8,uVar7,0)" (( "(") (identifier "iVar8") (, ",") (identifier "uVar7") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x776e4))(uVar6,1);" (call_expression "(**(code **)(puVar21 + 0x776e4))(uVar6,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x776e4))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x776e4)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x776e4)" (* "*") (cast_expression "(code **)(puVar21 + 0x776e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x776e4)" (( "(") (binary_expression "puVar21 + 0x776e4" (identifier "puVar21") (+ "+") (number_literal "0x776e4")) () ")"))))) () ")")) (argument_list "(uVar6,1)" (( "(") (identifier "uVar6") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x776e4))(uVar7,0);" (call_expression "(**(code **)(puVar21 + 0x776e4))(uVar7,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x776e4))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x776e4)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x776e4)" (* "*") (cast_expression "(code **)(puVar21 + 0x776e4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x776e4)" (( "(") (binary_expression "puVar21 + 0x776e4" (identifier "puVar21") (+ "+") (number_literal "0x776e4")) () ")"))))) () ")")) (argument_list "(uVar7,0)" (( "(") (identifier "uVar7") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" (else "else") (compound_statement "{\n    if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }\n    if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }\n    piVar20 = (int *)0x0;\n    if (piVar11 == (int *)0x0) goto LAB_000ce360;\nLAB_000ce130:\n    iVar8 = 0;\n    iVar14 = *(int *)(puVar21 + 0x7659c);\n    do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);\n    if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }\n  }" ({ "{") (if_statement "if (bVar2) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" (if "if") (parenthesized_expression "(bVar2)" (( "(") (identifier "bVar2") () ")")) (compound_statement "{\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;\n      goto LAB_000ce29c;\n    }" ({ "{") (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(puVar21 + 0x76af8)" (* "*") (cast_expression "(code **)(puVar21 + 0x76af8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x76af8)" (( "(") (binary_expression "puVar21 + 0x76af8" (identifier "puVar21") (+ "+") (number_literal "0x76af8")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x6a6c" (pointer_expression "*(int *)(puVar21 + 0x76a84)" (* "*") (cast_expression "(int *)(puVar21 + 0x76a84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x76a84)" (( "(") (binary_expression "puVar21 + 0x76a84" (identifier "puVar21") (+ "+") (number_literal "0x76a84")) () ")")))) (+ "+") (number_literal "-0x6a6c"))) (; ";")) (goto_statement "goto LAB_000ce29c;" (goto "goto") (statement_identifier "LAB_000ce29c") (; ";")) (} "}"))) (if_statement "if (bVar3) {\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n      pcVar22 = *(code **)(puVar21 + 0x76af8);\n      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;\n      goto LAB_000ce29c;\n    }" ({ "{") (expression_statement "pcVar22 = *(code **)(puVar21 + 0x76af8);" (assignment_expression "pcVar22 = *(code **)(puVar21 + 0x76af8)" (identifier "pcVar22") (= "=") (pointer_expression "*(code **)(puVar21 + 0x76af8)" (* "*") (cast_expression "(code **)(puVar21 + 0x76af8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x76af8)" (( "(") (binary_expression "puVar21 + 0x76af8" (identifier "puVar21") (+ "+") (number_literal "0x76af8")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;" (assignment_expression "iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88" (identifier "iVar8") (= "=") (binary_expression "*(int *)(puVar21 + 0x76a84) + -0x6a88" (pointer_expression "*(int *)(puVar21 + 0x76a84)" (* "*") (cast_expression "(int *)(puVar21 + 0x76a84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x76a84)" (( "(") (binary_expression "puVar21 + 0x76a84" (identifier "puVar21") (+ "+") (number_literal "0x76a84")) () ")")))) (+ "+") (number_literal "-0x6a88"))) (; ";")) (goto_statement "goto LAB_000ce29c;" (goto "goto") (statement_identifier "LAB_000ce29c") (; ";")) (} "}"))) (expression_statement "piVar20 = (int *)0x0;" (assignment_expression "piVar20 = (int *)0x0" (identifier "piVar20") (= "=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (piVar11 == (int *)0x0) goto LAB_000ce360;" (if "if") (parenthesized_expression "(piVar11 == (int *)0x0)" (( "(") (binary_expression "piVar11 == (int *)0x0" (identifier "piVar11") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000ce360;" (goto "goto") (statement_identifier "LAB_000ce360") (; ";"))) (labeled_statement "LAB_000ce130:\n    iVar8 = 0;" (statement_identifier "LAB_000ce130") (: ":") (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iVar14 = *(int *)(puVar21 + 0x7659c);" (assignment_expression "iVar14 = *(int *)(puVar21 + 0x7659c)" (identifier "iVar14") (= "=") (pointer_expression "*(int *)(puVar21 + 0x7659c)" (* "*") (cast_expression "(int *)(puVar21 + 0x7659c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar21 + 0x7659c)" (( "(") (binary_expression "puVar21 + 0x7659c" (identifier "puVar21") (+ "+") (number_literal "0x7659c")) () ")"))))) (; ";")) (do_statement "do {\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    } while (piVar11 != (int *)0x0);" (do "do") (compound_statement "{\n      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);\n      uVar6 = uStack_90;\n      if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }\n      piVar11 = (int *)*piVar11;\n    }" ({ "{") (expression_statement "iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);" (assignment_expression "iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1])" (identifier "iVar19") (= "=") (call_expression "(**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1])" (parenthesized_expression "(**(code **)(puVar21 + 0x776d8))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x776d8)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x776d8)" (* "*") (cast_expression "(code **)(puVar21 + 0x776d8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x776d8)" (( "(") (binary_expression "puVar21 + 0x776d8" (identifier "puVar21") (+ "+") (number_literal "0x776d8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)piVar11[1])" (( "(") (pointer_expression "*(undefined4 *)piVar11[1]" (* "*") (cast_expression "(undefined4 *)piVar11[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) () ")")))) (; ";")) (expression_statement "uVar6 = uStack_90;" (assignment_expression "uVar6 = uStack_90" (identifier "uVar6") (= "=") (identifier "uStack_90")) (; ";")) (if_statement "if (iVar19 == 0) {\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }\n      else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" (if "if") (parenthesized_expression "(iVar19 == 0)" (( "(") (binary_expression "iVar19 == 0" (identifier "iVar19") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);\n        iVar8 = 1;\n        builtin_error(uVar10,*(undefined4 *)piVar11[1]);\n      }" ({ "{") (expression_statement "uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);" (assignment_expression "uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5)" (identifier "uVar10") (= "=") (call_expression "(**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5)" (parenthesized_expression "(**(code **)(puVar21 + 0x78488))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x78488)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x78488)" (* "*") (cast_expression "(code **)(puVar21 + 0x78488)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x78488)" (( "(") (binary_expression "puVar21 + 0x78488" (identifier "puVar21") (+ "+") (number_literal "0x78488")) () ")"))))) () ")")) (argument_list "(0,iVar14 + -0x56cc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "iVar14 + -0x56cc" (identifier "iVar14") (+ "+") (number_literal "-0x56cc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "iVar8 = 1;" (assignment_expression "iVar8 = 1" (identifier "iVar8") (= "=") (number_literal "1")) (; ";")) (expression_statement "builtin_error(uVar10,*(undefined4 *)piVar11[1]);" (call_expression "builtin_error(uVar10,*(undefined4 *)piVar11[1])" (identifier "builtin_error") (argument_list "(uVar10,*(undefined4 *)piVar11[1])" (( "(") (identifier "uVar10") (, ",") (pointer_expression "*(undefined4 *)piVar11[1]" (* "*") (cast_expression "(undefined4 *)piVar11[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) () ")"))) (; ";")) (} "}")) (else_clause "else if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" (else "else") (if_statement "if (uStack_94 == 0 && uStack_90 == 0) {\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }\n      else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" (if "if") (parenthesized_expression "(uStack_94 == 0 && uStack_90 == 0)" (( "(") (binary_expression "uStack_94 == 0 && uStack_90 == 0" (binary_expression "uStack_94 == 0" (identifier "uStack_94") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uStack_90 == 0" (identifier "uStack_90") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);\n      }" ({ "{") (expression_statement "FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);" (call_expression "FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8)" (identifier "FUN_000cd290") (argument_list "(*(undefined4 *)piVar11[1],iVar19 + 8)" (( "(") (pointer_expression "*(undefined4 *)piVar11[1]" (* "*") (cast_expression "(undefined4 *)piVar11[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) (, ",") (binary_expression "iVar19 + 8" (identifier "iVar19") (+ "+") (number_literal "8")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" (else "else") (compound_statement "{\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);\n        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);\n      }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x77b38)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x77b38)" (* "*") (cast_expression "(code **)(puVar21 + 0x77b38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77b38)" (( "(") (binary_expression "puVar21 + 0x77b38" (identifier "puVar21") (+ "+") (number_literal "0x77b38")) () ")"))))) () ")")) (argument_list "(iVar19,uStack_94,1)" (( "(") (identifier "iVar19") (, ",") (identifier "uStack_94") (, ",") (number_literal "1") () ")"))) (; ";")) (expression_statement "(**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);" (call_expression "(**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0)" (parenthesized_expression "(**(code **)(puVar21 + 0x77b38))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x77b38)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x77b38)" (* "*") (cast_expression "(code **)(puVar21 + 0x77b38)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x77b38)" (( "(") (binary_expression "puVar21 + 0x77b38" (identifier "puVar21") (+ "+") (number_literal "0x77b38")) () ")"))))) () ")")) (argument_list "(iVar19,uVar6,0)" (( "(") (identifier "iVar19") (, ",") (identifier "uVar6") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}")))))) (expression_statement "piVar11 = (int *)*piVar11;" (assignment_expression "piVar11 = (int *)*piVar11" (identifier "piVar11") (= "=") (cast_expression "(int *)*piVar11" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar11 != (int *)0x0)" (( "(") (binary_expression "piVar11 != (int *)0x0" (identifier "piVar11") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (if_statement "if (piVar20 != (int *)0x0) {\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }" (if "if") (parenthesized_expression "(piVar20 != (int *)0x0)" (( "(") (binary_expression "piVar20 != (int *)0x0" (identifier "piVar20") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(puVar21 + 0x765bc))(piVar20);\n    }" ({ "{") (expression_statement "(**(code **)(puVar21 + 0x765bc))(piVar20);" (call_expression "(**(code **)(puVar21 + 0x765bc))(piVar20)" (parenthesized_expression "(**(code **)(puVar21 + 0x765bc))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x765bc)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x765bc)" (* "*") (cast_expression "(code **)(puVar21 + 0x765bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x765bc)" (( "(") (binary_expression "puVar21 + 0x765bc" (identifier "puVar21") (+ "+") (number_literal "0x765bc")) () ")"))))) () ")")) (argument_list "(piVar20)" (( "(") (identifier "piVar20") () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000ce240:\n  pcVar15 = pcStack_8c;" (statement_identifier "LAB_000ce240") (: ":") (expression_statement "pcVar15 = pcStack_8c;" (assignment_expression "pcVar15 = pcStack_8c" (identifier "pcVar15") (= "=") (identifier "pcStack_8c")) (; ";"))) (if_statement "if (pcStack_8c == (char *)*puVar9) {\n    return iVar8;\n  }" (if "if") (parenthesized_expression "(pcStack_8c == (char *)*puVar9)" (( "(") (binary_expression "pcStack_8c == (char *)*puVar9" (identifier "pcStack_8c") (== "==") (cast_expression "(char *)*puVar9" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar9" (* "*") (identifier "puVar9")))) () ")")) (compound_statement "{\n    return iVar8;\n  }" ({ "{") (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}"))) (labeled_statement "LAB_000ce480:\n  iVar8 = (**(code **)(puVar21 + 0x78478))();" (statement_identifier "LAB_000ce480") (: ":") (expression_statement "iVar8 = (**(code **)(puVar21 + 0x78478))();" (assignment_expression "iVar8 = (**(code **)(puVar21 + 0x78478))()" (identifier "iVar8") (= "=") (call_expression "(**(code **)(puVar21 + 0x78478))()" (parenthesized_expression "(**(code **)(puVar21 + 0x78478))" (( "(") (pointer_expression "**(code **)(puVar21 + 0x78478)" (* "*") (pointer_expression "*(code **)(puVar21 + 0x78478)" (* "*") (cast_expression "(code **)(puVar21 + 0x78478)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar21 + 0x78478)" (( "(") (binary_expression "puVar21 + 0x78478" (identifier "puVar21") (+ "+") (number_literal "0x78478")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (if_statement "if (pcVar15 != (char *)0x0) {\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }" (if "if") (parenthesized_expression "(pcVar15 != (char *)0x0)" (( "(") (binary_expression "pcVar15 != (char *)0x0" (identifier "pcVar15") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    cVar18 = *pcVar15;\n    if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }\n    iVar8 = 0;\n    pcVar4 = pcVar15;\n    do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));\n    *pcVar13 = '\0';\n  }" ({ "{") (expression_statement "cVar18 = *pcVar15;" (assignment_expression "cVar18 = *pcVar15" (identifier "cVar18") (= "=") (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15"))) (; ";")) (if_statement "if (cVar18 == '\0') {\n      *pcVar15 = '\0';\n      return iVar8;\n    }" (if "if") (parenthesized_expression "(cVar18 == '\0')" (( "(") (binary_expression "cVar18 == '\0'" (identifier "cVar18") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      *pcVar15 = '\0';\n      return iVar8;\n    }" ({ "{") (expression_statement "*pcVar15 = '\0';" (assignment_expression "*pcVar15 = '\0'" (pointer_expression "*pcVar15" (* "*") (identifier "pcVar15")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}"))) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" (identifier "iVar8") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar4 = pcVar15;" (assignment_expression "pcVar4 = pcVar15" (identifier "pcVar4") (= "=") (identifier "pcVar15")) (; ";")) (do_statement "do {\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));" (do "do") (compound_statement "{\n      pcVar13 = pcVar4 + 1;\n      iVar14 = iVar8;\n      iVar19 = iVar8 + 1;\n      if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }\n      iVar8 = iVar19;\n      cVar18 = pcVar15[iVar14];\n      *pcVar4 = cVar18;\n    }" ({ "{") (expression_statement "pcVar13 = pcVar4 + 1;" (assignment_expression "pcVar13 = pcVar4 + 1" (identifier "pcVar13") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar14 = iVar8;" (assignment_expression "iVar14 = iVar8" (identifier "iVar14") (= "=") (identifier "iVar8")) (; ";")) (expression_statement "iVar19 = iVar8 + 1;" (assignment_expression "iVar19 = iVar8 + 1" (identifier "iVar19") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (cVar18 == '\\') {\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }" (if "if") (parenthesized_expression "(cVar18 == '\\')" (( "(") (binary_expression "cVar18 == '\\'" (identifier "cVar18") (== "==") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) () ")")) (compound_statement "{\n        iVar14 = iVar8 + 1;\n        iVar19 = iVar8 + 2;\n      }" ({ "{") (expression_statement "iVar14 = iVar8 + 1;" (assignment_expression "iVar14 = iVar8 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar19 = iVar8 + 2;" (assignment_expression "iVar19 = iVar8 + 2" (identifier "iVar19") (= "=") (binary_expression "iVar8 + 2" (identifier "iVar8") (+ "+") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "iVar8 = iVar19;" (assignment_expression "iVar8 = iVar19" (identifier "iVar8") (= "=") (identifier "iVar19")) (; ";")) (expression_statement "cVar18 = pcVar15[iVar14];" (assignment_expression "cVar18 = pcVar15[iVar14]" (identifier "cVar18") (= "=") (subscript_expression "pcVar15[iVar14]" (identifier "pcVar15") ([ "[") (identifier "iVar14") (] "]"))) (; ";")) (expression_statement "*pcVar4 = cVar18;" (assignment_expression "*pcVar4 = cVar18" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (identifier "cVar18")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'))" (( "(") (binary_expression "(cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0')" (parenthesized_expression "(cVar18 != '\0')" (( "(") (binary_expression "cVar18 != '\0'" (identifier "cVar18") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0')" (( "(") (comma_expression "cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'" (assignment_expression "cVar18 = pcVar15[iVar8]" (identifier "cVar18") (= "=") (subscript_expression "pcVar15[iVar8]" (identifier "pcVar15") ([ "[") (identifier "iVar8") (] "]"))) (, ",") (comma_expression "pcVar4 = pcVar13, cVar18 != '\0'" (assignment_expression "pcVar4 = pcVar13" (identifier "pcVar4") (= "=") (identifier "pcVar13")) (, ",") (binary_expression "cVar18 != '\0'" (identifier "cVar18") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")"))) () ")")) (; ";")) (expression_statement "*pcVar13 = '\0';" (assignment_expression "*pcVar13 = '\0'" (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (return_statement "return iVar8;" (return "return") (identifier "iVar8") (; ";")) (} "}")))

int function_1(type_1 *var_2)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  char *var_36;
  type_2 uVar5;
  type_2 uVar6;
  int var_8;
  type_3 *var_10;
  char *var_34;
  type_3 uVar10;
  char **ppcVar11;
  type_4 *puVar12;
  int var_22;
  char *pcVar14;
  int var_12;
  type_1 *list_00;
  type_2 *puVar16;
  type_4 *in_a2;
  char var_35;
  int *var_27;
  type_5 *var_13;
  int *unaff_s2;
  int *var_28;
  int *unaff_s3;
  int var_3;
  int var_4;
  int var_5;
  int var_6;
  int var_1;
  type_6 *var_19;
  type_3 *unaff_s8;
  type_6 *pcVar21;
  type_2 var_29;
  type_2 var_30;
  char *var_32;
  int *piStack_88;
  type_5 *pSStack_84;
  int *piStack_80;
  int *piStack_7c;
  int iStack_78;
  int iStack_74;
  int iStack_70;
  int iStack_6c;
  type_3 *puStack_68;
  type_6 *pcStack_64;
  type_3 uStack_50;
  type_3 uStack_4c;
  int var_9;
  type_4 *puStack_3c;
  type_4 acts;
  type_4 var_14;
  type_1 *var_18;
  
  var_9 = var_1 + 0x7ea94;
  var_27 = *(int **)(var_1 + 0x78a30);
  var_18 = (type_1 *)*var_27;
  var_13 = *(type_5 **)(var_1 + 0x776a8);
  if (var_2 == (type_1 *)0x0) {
    puVar12 = (type_4 *)0x0;
  }
  else {
    unaff_s2 = *(int **)(var_1 + 0x776a8);
    in_a2 = &acts;
    unaff_s3 = *(int **)(var_1 + 0x776a8);
    var_3 = *(int *)(var_1 + 0x776a8);
    var_4 = *(int *)(var_1 + 0x776a8);
    var_5 = *(int *)(var_1 + 0x776a8);
    var_6 = *(int *)(var_1 + 0x776a8);
    var_14 = 0;
    acts = 0;
    var_13[-0x88e].list_len = 0;
    unaff_s2[-0x19a7] = 0;
    unaff_s3[-0x19a6] = 0;
    *(type_3 *)(var_3 + -0x6694) = 0;
    *(type_3 *)(var_4 + -0x6690) = 0;
    *(type_3 *)(var_5 + -0x668c) = 0;
    *(type_3 *)(var_6 + -0x6688) = 0;
    var_8 = var_7(var_2,(type_7 *)0x0,in_a2,&var_14);
    puVar12 = (type_4 *)var_8;
    if ((var_8 != 0x102) && (puVar12 = (type_4 *)0, var_8 != 1)) {
      if ((**(int **)(var_9 + -0x6cdc) == 0) ||
         (var_10 = *(type_3 **)(**(int **)(var_9 + -0x6cdc) + 4), var_10 == (type_3 *)0x0
         )) {
        puStack_3c = (type_4 *)(*(int *)(var_9 + -0x7f94) + -0x6800);
      }
      else {
        puStack_3c = (type_4 *)*var_10;
      }
      if (unaff_s2[-0x19a7] != 0) {
        var_34 = (char *)(**(type_6 **)(var_9 + -0x60a8))
                                   (0,*(int *)(var_9 + -0x7f94) + -0x5658,5);
        var_11(var_34);
      }
      if (var_13[-0x88e].list_len != 0) {
        var_34 = (char *)(**(type_6 **)(var_9 + -0x60a8))
                                   (0,*(int *)(var_9 + -0x7f94) + -0x5628,5);
        var_11(var_34);
      }
      unaff_s8 = (type_3 *)(**(type_6 **)(var_9 + -0x6d18))();
      var_8 = *(int *)(var_6 + -0x6688);
      unaff_s8[1] = acts;
      unaff_s8[2] = var_14;
      *unaff_s8 = 1;
      if (var_8 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))(var_8);
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_8 = (**(type_6 **)(var_9 + -0x6128))(uVar10,*(type_3 *)(var_6 + -0x6688));
      }
      var_12 = *(int *)(var_5 + -0x668c);
      unaff_s8[3] = var_8;
      if (var_12 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))();
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_12 = (**(type_6 **)(var_9 + -0x6128))(uVar10,*(type_3 *)(var_5 + -0x668c));
      }
      var_8 = *(int *)(var_4 + -0x6690);
      unaff_s8[4] = var_12;
      if (var_8 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))(var_8);
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_8 = (**(type_6 **)(var_9 + -0x6128))(uVar10,*(type_3 *)(var_4 + -0x6690));
      }
      var_12 = *(int *)(var_3 + -0x6694);
      unaff_s8[5] = var_8;
      if (var_12 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))();
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_12 = (**(type_6 **)(var_9 + -0x6128))(uVar10,*(type_3 *)(var_3 + -0x6694));
      }
      var_8 = unaff_s2[-0x19a7];
      unaff_s8[6] = var_12;
      if (var_8 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))(var_8);
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_8 = (**(type_6 **)(var_9 + -0x6128))(uVar10,unaff_s2[-0x19a7]);
      }
      var_12 = var_13[-0x88e].list_len;
      unaff_s8[7] = var_8;
      if (var_12 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))();
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_12 = (**(type_6 **)(var_9 + -0x6128))(uVar10,var_13[-0x88e].list_len);
      }
      var_8 = unaff_s3[-0x19a6];
      unaff_s8[8] = var_12;
      if (var_8 != 0) {
        var_8 = (**(type_6 **)(var_9 + -0x61b0))(var_8);
        uVar10 = (**(type_6 **)(var_9 + -0x7f90))(var_8 + 1);
        var_8 = (**(type_6 **)(var_9 + -0x6128))(uVar10,unaff_s3[-0x19a6]);
      }
      unaff_s3 = *(int **)(var_9 + -0x6d24);
      unaff_s2 = *(int **)(var_9 + -0x6d20);
      var_12 = *(int *)(var_9 + -0x7f94);
      var_19 = *(type_6 **)(var_9 + -0x6cfc);
      var_4 = *unaff_s3;
      var_3 = *unaff_s2;
      unaff_s8[10] = var_8;
      uStack_4c = 0;
      uStack_50 = 0;
      *unaff_s3 = 0;
      *unaff_s2 = 0;
      in_a2 = puStack_3c;
      var_13 = (type_5 *)(*var_19)(unaff_s8,var_12 + -0x74e8,puStack_3c,0);
      *unaff_s3 = var_4;
      *unaff_s2 = var_3;
      if (var_13 == (type_5 *)0x0) {
        var_19 = *(type_6 **)(var_9 + -0x6e54);
        if ((var_14 & 0x40) != 0) {
LAB_000cdfa0:
          in_a2 = (type_4 *)0x0;
          uStack_50 = 0;
          ppcVar11 = (char **)(*var_19)(puStack_3c,0,0,0);
          var_13 = (type_5 *)(**(type_6 **)(var_9 + -0x6d40))(ppcVar11);
          var_15(ppcVar11);
          if (var_13 != (type_5 *)0x0) {
            if (var_13->list_len != 0) goto LAB_000cdee4;
            goto LAB_000cde58;
          }
        }
        puVar12 = (type_4 *)0x1;
        if ((var_14 & 2) != 0) {
          var_13 = (type_5 *)0x0;
          uVar10 = *(type_3 *)(var_9 + -0x70c0);
LAB_000cdf2c:
          ppcVar11 = (char **)(**(type_6 **)(var_9 + -0x6fbc))(puStack_3c,uVar10);
          var_16(var_13);
          var_13 = (type_5 *)(**(type_6 **)(var_9 + -0x6d40))(ppcVar11);
          var_15(ppcVar11);
          if (var_13 != (type_5 *)0x0) {
            var_8 = 1;
            if ((var_13->var_2 != (char **)0x0) && (var_13->list_len != 0)) goto LAB_000cdef0;
            goto LAB_000cde64;
          }
          puVar12 = (type_4 *)0x1;
        }
      }
      else {
        if (var_13->list_len == 0) {
          var_19 = *(type_6 **)(var_9 + -0x6e54);
          if ((var_14 & 0x40) != 0) goto LAB_000cdfa0;
LAB_000cde58:
          uVar10 = *(type_3 *)(var_9 + -0x70c0);
          if ((var_14 & 2) != 0) goto LAB_000cdf2c;
        }
        else {
LAB_000cdee4:
          if (var_13->var_2 != (char **)0x0) {
LAB_000cdef0:
            var_17(var_13,(char *)0x0);
            var_8 = 0;
            goto LAB_000cde64;
          }
        }
        var_8 = 1;
LAB_000cde64:
        puStack_3c = (type_4 *)var_8;
        var_16(var_13);
        puVar12 = puStack_3c;
      }
      puStack_3c = puVar12;
      (**(type_6 **)(var_9 + -0x6d10))(unaff_s8);
      puVar12 = puStack_3c;
    }
  }
  if (var_18 == (type_1 *)*var_27) {
    return (int)puVar12;
  }
  var_19 = *(type_6 **)(var_9 + -0x60b8);
  pcVar21 = compopt_builtin;
  list_00 = var_18;
  (*var_19)();
  var_10 = *(type_3 **)(var_19 + 0x784cc);
  bVar2 = false;
  bVar3 = false;
  bVar1 = false;
  var_30 = 0;
  var_29 = 0;
  var_32 = (char *)*var_10;
  var_8 = *(int *)(var_19 + 0x7659c);
  var_28 = *(int **)(var_19 + 0x778e0);
  piStack_88 = var_27;
  pSStack_84 = var_13;
  piStack_80 = unaff_s2;
  piStack_7c = unaff_s3;
  iStack_78 = var_3;
  iStack_74 = var_4;
  iStack_70 = var_5;
  iStack_6c = var_6;
  puStack_68 = unaff_s8;
  pcStack_64 = pcVar21;
  var_20();
  var_12 = *(int *)(var_19 + 0x76558);
LAB_000ce098:
  var_22 = var_21(list_00,(char *)(var_8 + -0x55f8));
  if (var_22 != -1) {
    while( true ) {
      if (*var_28 == 0x2d) {
        puVar16 = &var_29;
      }
      else {
        puVar16 = &var_30;
      }
      if (var_22 == 0x45) {
        bVar2 = true;
        goto LAB_000ce098;
      }
      if (0x45 < var_22) break;
      if (var_22 == -99) {
        var_8 = 0x102;
        var_23();
        goto LAB_000ce240;
      }
      if (var_22 != 0x44) goto LAB_000ce280;
      bVar1 = true;
      var_22 = var_21(list_00,(char *)(var_8 + -0x55f8));
      if (var_22 == -1) goto LAB_000ce108;
    }
    if (var_22 == 0x49) {
      bVar3 = true;
    }
    else {
      if (var_22 != 0x6f) {
LAB_000ce280:
        var_8 = 0x102;
        var_24();
        goto LAB_000ce240;
      }
      var_34 = (char *)**(type_3 **)(var_19 + 0x77860);
      var_22 = var_25(var_34);
      if (var_22 < 0) {
        var_8 = 0x102;
        var_26(var_34);
        goto LAB_000ce240;
      }
      *puVar16 = *puVar16 | *(type_2 *)(var_12 + var_22 * 8 + -0x101c);
    }
    goto LAB_000ce098;
  }
LAB_000ce108:
  var_27 = (int *)**(int **)(var_19 + 0x77854);
  if (bVar1) {
    pcVar21 = *(type_6 **)(var_19 + 0x76af8);
    var_8 = *(int *)(var_19 + 0x76a84) + -0x65ec;
LAB_000ce29c:
    uVar10 = (*pcVar21)(var_8);
    var_28 = (int *)(**(type_6 **)(var_19 + 0x765a8))(uVar10,0);
    if (var_27 != (int *)0x0) {
      if (var_28 != (int *)0x0) {
        var_27 = var_28;
      }
      goto LAB_000ce130;
    }
    var_27 = var_28;
    if (var_28 != (int *)0x0) goto LAB_000ce130;
LAB_000ce360:
    uVar6 = var_30;
    uVar5 = var_29;
    if (((**(type_2 **)(var_19 + 0x76648) & 0x4000) == 0) ||
       (var_8 = **(int **)(var_19 + 0x7782c), var_8 == 0)) {
      var_8 = 1;
      var_34 = (char *)(**(type_6 **)(var_19 + 0x78488))(0,*(int *)(var_19 + 0x7659c) + -22000,5);
      var_11(var_34);
    }
    else {
      if (var_29 == 0 && var_30 == 0) {
        var_34 = (char *)**(type_3 **)(var_19 + 0x77830);
        var_31(var_34,(type_8 *)(var_8 + 8),(int)in_a2);
        if (var_32 == (char *)*var_10) {
          var_8 = var_33(0);
          return var_8;
        }
        goto LAB_000ce480;
      }
      (**(type_6 **)(var_19 + 0x77b38))(var_8,var_29,1);
      (**(type_6 **)(var_19 + 0x77b38))(var_8,uVar6,0);
      var_8 = 0;
      (**(type_6 **)(var_19 + 0x776e4))(uVar5,1);
      (**(type_6 **)(var_19 + 0x776e4))(uVar6,0);
    }
  }
  else {
    if (bVar2) {
      pcVar21 = *(type_6 **)(var_19 + 0x76af8);
      var_8 = *(int *)(var_19 + 0x76a84) + -0x6a6c;
      goto LAB_000ce29c;
    }
    if (bVar3) {
      pcVar21 = *(type_6 **)(var_19 + 0x76af8);
      var_8 = *(int *)(var_19 + 0x76a84) + -0x6a88;
      goto LAB_000ce29c;
    }
    var_28 = (int *)0x0;
    if (var_27 == (int *)0x0) goto LAB_000ce360;
LAB_000ce130:
    var_8 = 0;
    var_12 = *(int *)(var_19 + 0x7659c);
    do {
      var_22 = (**(type_6 **)(var_19 + 0x776d8))(*(type_3 *)var_27[1]);
      uVar5 = var_30;
      if (var_22 == 0) {
        in_a2 = (type_4 *)&DAT_00000005;
        var_34 = (char *)(**(type_6 **)(var_19 + 0x78488))(0,var_12 + -0x56cc);
        var_8 = 1;
        var_11(var_34,*(type_3 *)var_27[1]);
      }
      else if (var_29 == 0 && var_30 == 0) {
        var_31(*(char **)var_27[1],(type_8 *)(var_22 + 8),(int)in_a2);
      }
      else {
        (**(type_6 **)(var_19 + 0x77b38))(var_22,var_29,1);
        in_a2 = (type_4 *)0x0;
        (**(type_6 **)(var_19 + 0x77b38))(var_22,uVar5);
      }
      var_27 = (int *)*var_27;
    } while (var_27 != (int *)0x0);
    if (var_28 != (int *)0x0) {
      (**(type_6 **)(var_19 + 0x765bc))(var_28);
    }
  }
LAB_000ce240:
  var_34 = var_32;
  if (var_32 == (char *)*var_10) {
    return var_8;
  }
LAB_000ce480:
  var_8 = (**(type_6 **)(var_19 + 0x78478))();
  if (var_34 != (char *)0x0) {
    var_35 = *var_34;
    if (var_35 == '\0') {
      *var_34 = '\0';
      return var_8;
    }
    var_8 = 0;
    var_36 = var_34;
    do {
      pcVar14 = var_36 + 1;
      var_12 = var_8;
      var_22 = var_8 + 1;
      if (var_35 == '\\') {
        var_12 = var_8 + 1;
        var_22 = var_8 + 2;
      }
      var_8 = var_22;
      var_35 = var_34[var_12];
      *var_36 = var_35;
    } while ((var_35 != '\0') && (var_35 = var_34[var_8], var_36 = pcVar14, var_35 != '\0'));
    *pcVar14 = '\0';
  }
  return var_8;
}


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

int MASKED(int param_1)

{
  bool bVar1;
  bool bVar2;
  bool bVar3;
  char *pcVar4;
  undefined *puVar5;
  uint uVar6;
  uint uVar7;
  int iVar8;
  undefined4 *puVar9;
  undefined4 uVar10;
  int *piVar11;
  int iVar12;
  char *pcVar13;
  int iVar14;
  char *pcVar15;
  undefined *puVar16;
  uint *puVar17;
  char cVar18;
  undefined *unaff_s2;
  undefined *unaff_s3;
  undefined *unaff_s4;
  int iVar19;
  int *piVar20;
  undefined *unaff_s5;
  undefined *unaff_s6;
  undefined *unaff_s7;
  undefined *puVar21;
  undefined4 *unaff_s8;
  code *pcVar22;
  uint uStack_94;
  uint uStack_90;
  char *pcStack_8c;
  undefined *puStack_88;
  int *piStack_84;
  undefined *puStack_80;
  undefined *puStack_7c;
  undefined *puStack_78;
  undefined *puStack_74;
  undefined *puStack_70;
  undefined *puStack_6c;
  undefined4 *puStack_68;
  code *pcStack_64;
  undefined4 local_50;
  undefined4 local_4c;
  undefined *local_3c;
  undefined4 local_34;
  uint local_30;
  int local_2c;
  
  puVar5 = PTR___stack_chk_guard_001464dc;
  puVar21 = PTR___environ_00145154;
  local_2c = *(int *)PTR___stack_chk_guard_001464dc;
  piStack_84 = (int *)puVar21;
  if (param_1 == 0) {
    iVar8 = 0;
  }
  else {
    local_30 = 0;
    local_34 = 0;
    *(undefined4 *)(PTR___environ_00145154 + -0x66a0) = 0;
    *(undefined4 *)(puVar21 + -0x669c) = 0;
    *(undefined4 *)(puVar21 + -0x6698) = 0;
    *(undefined4 *)(puVar21 + -0x6694) = 0;
    *(undefined4 *)(puVar21 + -0x6690) = 0;
    *(undefined4 *)(puVar21 + -0x668c) = 0;
    *(undefined4 *)(puVar21 + -0x6688) = 0;
    iVar8 = FUN_000ccdc8(param_1,0,&local_34,&local_30);
    unaff_s2 = puVar21;
    unaff_s3 = puVar21;
    unaff_s4 = puVar21;
    unaff_s5 = puVar21;
    unaff_s6 = puVar21;
    unaff_s7 = puVar21;
    if ((iVar8 != 0x102) && (bVar1 = iVar8 != 1, iVar8 = 0, bVar1)) {
      if ((*(int *)PTR_loptend_00145864 == 0) ||
         (puVar9 = *(undefined4 **)(*(int *)PTR_loptend_00145864 + 4), puVar9 == (undefined4 *)0x0))
      {
        local_3c = PTR_DAT_001445ac + -0x6800;
      }
      else {
        local_3c = (undefined *)*puVar9;
      }
      if (*(int *)(puVar21 + -0x669c) != 0) {
        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5658,5);
        builtin_error(uVar10);
      }
      if (*(int *)(puVar21 + -0x66a0) != 0) {
        uVar10 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x5628,5);
        builtin_error(uVar10);
      }
      unaff_s8 = (undefined4 *)(*(code *)PTR_compspec_create_00145828)();
      iVar8 = *(int *)(puVar21 + -0x6688);
      unaff_s8[1] = local_34;
      unaff_s8[2] = local_30;
      *unaff_s8 = 1;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6688));
      }
      iVar14 = *(int *)(puVar21 + -0x668c);
      unaff_s8[3] = iVar8;
      if (iVar14 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)();
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x668c));
      }
      iVar8 = *(int *)(puVar21 + -0x6690);
      unaff_s8[4] = iVar14;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6690));
      }
      iVar14 = *(int *)(puVar21 + -0x6694);
      unaff_s8[5] = iVar8;
      if (iVar14 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)();
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6694));
      }
      iVar8 = *(int *)(puVar21 + -0x669c);
      unaff_s8[6] = iVar14;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x669c));
      }
      iVar14 = *(int *)(puVar21 + -0x66a0);
      unaff_s8[7] = iVar8;
      if (iVar14 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)();
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar14 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x66a0));
      }
      iVar8 = *(int *)(puVar21 + -0x6698);
      unaff_s8[8] = iVar14;
      if (iVar8 != 0) {
        iVar8 = (*(code *)PTR_strlen_00146390)(iVar8);
        uVar10 = (*(code *)PTR_xmalloc_001445b0)(iVar8 + 1);
        iVar8 = (*(code *)PTR_strcpy_00146418)(uVar10,*(undefined4 *)(puVar21 + -0x6698));
      }
      puVar21 = PTR_gen_compspec_completions_00145844;
      unaff_s2 = PTR_pcomp_ind_00145820;
      unaff_s3 = PTR_pcomp_line_0014581c;
      unaff_s5 = *(undefined **)PTR_pcomp_line_0014581c;
      puVar16 = PTR_DAT_001445ac + -0x74e8;
      unaff_s4 = *(undefined **)PTR_pcomp_ind_00145820;
      unaff_s8[10] = iVar8;
      local_4c = 0;
      local_50 = 0;
      *(undefined4 *)unaff_s3 = 0;
      *(undefined4 *)unaff_s2 = 0;
      piVar11 = (int *)(*(code *)puVar21)(unaff_s8,puVar16,local_3c,0);
      *(undefined **)unaff_s3 = unaff_s5;
      *(undefined **)unaff_s2 = unaff_s4;
      if (piVar11 == (int *)0x0) {
        if ((local_30 & 0x40) != 0) {
LAB_000cdfa0:
          local_50 = 0;
          uVar10 = (*(code *)PTR_bash_default_completion_001456ec)(local_3c,0,0,0);
          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);
          strvec_dispose(uVar10);
          if (piVar11 != (int *)0x0) {
            if (piVar11[2] != 0) goto LAB_000cdee4;
            goto LAB_000cde58;
          }
        }
        iVar8 = 1;
        if ((local_30 & 2) != 0) {
          piVar11 = (int *)0x0;
LAB_000cdf2c:
          uVar10 = (*(code *)PTR_rl_completion_matches_00145584)
                             (local_3c,PTR_rl_filename_completion_function_00145480);
          strlist_dispose(piVar11);
          piVar11 = (int *)(*(code *)PTR_completions_to_stringlist_00145800)(uVar10);
          strvec_dispose(uVar10);
          if (piVar11 != (int *)0x0) {
            iVar8 = 1;
            if ((*piVar11 != 0) && (piVar11[2] != 0)) goto LAB_000cdef0;
            goto LAB_000cde64;
          }
          iVar8 = 1;
        }
      }
      else {
        if (piVar11[2] == 0) {
          if ((local_30 & 0x40) != 0) goto LAB_000cdfa0;
LAB_000cde58:
          if ((local_30 & 2) != 0) goto LAB_000cdf2c;
        }
        else {
LAB_000cdee4:
          if (*piVar11 != 0) {
LAB_000cdef0:
            strlist_print(piVar11,0);
            iVar8 = 0;
            goto LAB_000cde64;
          }
        }
        iVar8 = 1;
LAB_000cde64:
        strlist_dispose(piVar11);
      }
      (*(code *)PTR_compspec_dispose_00145830)(unaff_s8);
      piStack_84 = piVar11;
    }
  }
  if (local_2c == *(int *)puVar5) {
    return iVar8;
  }
  pcVar22 = compopt_builtin;
  iVar8 = local_2c;
  puVar21 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puVar9 = *(undefined4 **)(puVar21 + 0x784cc);
  bVar2 = false;
  bVar3 = false;
  bVar1 = false;
  puStack_88 = puVar5;
  uStack_90 = 0;
  uStack_94 = 0;
  pcStack_8c = (char *)*puVar9;
  iVar14 = *(int *)(puVar21 + 0x7659c);
  piVar11 = *(int **)(puVar21 + 0x778e0);
  puStack_80 = unaff_s2;
  puStack_7c = unaff_s3;
  puStack_78 = unaff_s4;
  puStack_74 = unaff_s5;
  puStack_70 = unaff_s6;
  puStack_6c = unaff_s7;
  puStack_68 = unaff_s8;
  pcStack_64 = pcVar22;
  reset_internal_getopt();
  iVar19 = *(int *)(puVar21 + 0x76558);
LAB_000ce098:
  iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);
  if (iVar12 != -1) {
    while( true ) {
      if (*piVar11 == 0x2d) {
        puVar17 = &uStack_94;
      }
      else {
        puVar17 = &uStack_90;
      }
      if (iVar12 == 0x45) {
        bVar2 = true;
        goto LAB_000ce098;
      }
      if (0x45 < iVar12) break;
      if (iVar12 == -99) {
        iVar8 = 0x102;
        builtin_help();
        goto LAB_000ce240;
      }
      if (iVar12 != 0x44) goto LAB_000ce280;
      bVar1 = true;
      iVar12 = internal_getopt(iVar8,iVar14 + -0x55f8);
      if (iVar12 == -1) goto LAB_000ce108;
    }
    if (iVar12 == 0x49) {
      bVar3 = true;
    }
    else {
      if (iVar12 != 0x6f) {
LAB_000ce280:
        iVar8 = 0x102;
        builtin_usage();
        goto LAB_000ce240;
      }
      uVar10 = **(undefined4 **)(puVar21 + 0x77860);
      iVar12 = FUN_000cc240(uVar10);
      if (iVar12 < 0) {
        iVar8 = 0x102;
        sh_invalidoptname(uVar10);
        goto LAB_000ce240;
      }
      *puVar17 = *puVar17 | *(uint *)(iVar19 + iVar12 * 8 + -0x101c);
    }
    goto LAB_000ce098;
  }
LAB_000ce108:
  piVar11 = (int *)**(int **)(puVar21 + 0x77854);
  if (bVar1) {
    pcVar22 = *(code **)(puVar21 + 0x76af8);
    iVar8 = *(int *)(puVar21 + 0x76a84) + -0x65ec;
LAB_000ce29c:
    uVar10 = (*pcVar22)(iVar8);
    piVar20 = (int *)(**(code **)(puVar21 + 0x765a8))(uVar10,0);
    if (piVar11 != (int *)0x0) {
      if (piVar20 != (int *)0x0) {
        piVar11 = piVar20;
      }
      goto LAB_000ce130;
    }
    piVar11 = piVar20;
    if (piVar20 != (int *)0x0) goto LAB_000ce130;
LAB_000ce360:
    uVar7 = uStack_90;
    uVar6 = uStack_94;
    if (((**(uint **)(puVar21 + 0x76648) & 0x4000) == 0) ||
       (iVar8 = **(int **)(puVar21 + 0x7782c), iVar8 == 0)) {
      iVar8 = 1;
      uVar10 = (**(code **)(puVar21 + 0x78488))(0,*(int *)(puVar21 + 0x7659c) + -22000,5);
      builtin_error(uVar10);
    }
    else {
      if (uStack_94 == 0 && uStack_90 == 0) {
        pcVar15 = (char *)**(undefined4 **)(puVar21 + 0x77830);
        FUN_000cd290(pcVar15,iVar8 + 8);
        if (pcStack_8c == (char *)*puVar9) {
          iVar8 = sh_chkwrite(0);
          return iVar8;
        }
        goto LAB_000ce480;
      }
      (**(code **)(puVar21 + 0x77b38))(iVar8,uStack_94,1);
      (**(code **)(puVar21 + 0x77b38))(iVar8,uVar7,0);
      iVar8 = 0;
      (**(code **)(puVar21 + 0x776e4))(uVar6,1);
      (**(code **)(puVar21 + 0x776e4))(uVar7,0);
    }
  }
  else {
    if (bVar2) {
      pcVar22 = *(code **)(puVar21 + 0x76af8);
      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a6c;
      goto LAB_000ce29c;
    }
    if (bVar3) {
      pcVar22 = *(code **)(puVar21 + 0x76af8);
      iVar8 = *(int *)(puVar21 + 0x76a84) + -0x6a88;
      goto LAB_000ce29c;
    }
    piVar20 = (int *)0x0;
    if (piVar11 == (int *)0x0) goto LAB_000ce360;
LAB_000ce130:
    iVar8 = 0;
    iVar14 = *(int *)(puVar21 + 0x7659c);
    do {
      iVar19 = (**(code **)(puVar21 + 0x776d8))(*(undefined4 *)piVar11[1]);
      uVar6 = uStack_90;
      if (iVar19 == 0) {
        uVar10 = (**(code **)(puVar21 + 0x78488))(0,iVar14 + -0x56cc,5);
        iVar8 = 1;
        builtin_error(uVar10,*(undefined4 *)piVar11[1]);
      }
      else if (uStack_94 == 0 && uStack_90 == 0) {
        FUN_000cd290(*(undefined4 *)piVar11[1],iVar19 + 8);
      }
      else {
        (**(code **)(puVar21 + 0x77b38))(iVar19,uStack_94,1);
        (**(code **)(puVar21 + 0x77b38))(iVar19,uVar6,0);
      }
      piVar11 = (int *)*piVar11;
    } while (piVar11 != (int *)0x0);
    if (piVar20 != (int *)0x0) {
      (**(code **)(puVar21 + 0x765bc))(piVar20);
    }
  }
LAB_000ce240:
  pcVar15 = pcStack_8c;
  if (pcStack_8c == (char *)*puVar9) {
    return iVar8;
  }
LAB_000ce480:
  iVar8 = (**(code **)(puVar21 + 0x78478))();
  if (pcVar15 != (char *)0x0) {
    cVar18 = *pcVar15;
    if (cVar18 == '\0') {
      *pcVar15 = '\0';
      return iVar8;
    }
    iVar8 = 0;
    pcVar4 = pcVar15;
    do {
      pcVar13 = pcVar4 + 1;
      iVar14 = iVar8;
      iVar19 = iVar8 + 1;
      if (cVar18 == '\\') {
        iVar14 = iVar8 + 1;
        iVar19 = iVar8 + 2;
      }
      iVar8 = iVar19;
      cVar18 = pcVar15[iVar14];
      *pcVar4 = cVar18;
    } while ((cVar18 != '\0') && (cVar18 = pcVar15[iVar8], pcVar4 = pcVar13, cVar18 != '\0'));
    *pcVar13 = '\0';
  }
  return iVar8;
}

